gpt4 book ai didi

ruby-on-rails - Rails 如何知道何时响应 304 状态?

转载 作者:行者123 更新时间:2023-12-03 14:50:17 25 4
gpt4 key购买 nike

鉴于我有 Rails Controller ,它访问数据库以检索数据并使用序列化程序呈现 JSON 响应,必须满足什么条件才能使 rails 以 304 响应?

如果它必须将先前的响应与当前检索到的响应进行比较,它是哪种比较?

最佳答案

奇迹发生在 Rack::ETagRack::ConditionalGet . (我的位于 $GEM_HOME/rack-1.5.5/lib/rack/conditionalget.rb$GEM_HOME/rack-1.5.5/lib/rack/etag.rb 。)
这些是中间件。Rack::ETag从正文中生成摘要(与机架函数 @app.call 返回的正文完全相同)并设置响应 ETag此值的 header 。至少对于 Rails 4.0,它是一个 MD5 十六进制摘要。Rack::ConditionalGet比较请求的 If-None-Match响应的 header ETag标题。如果它们匹配,则返回 304。

关于ruby-on-rails - Rails 如何知道何时响应 304 状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43000732/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com