禁止用户代理max-age = 0标头

时间:2012-02-12 19:56:37

标签: ruby-on-rails-3.1 http-headers

来自浏览器的Cache-Control: max-age=0标头导致我的rails 3.1应用程序中带有md5缓存破坏程序的静态资产无法永久缓存,因为浏览器要求完全重新验证缓存并获取304而不是改性。我希望浏览器使用自己的缓存并且永远不会重新验证。我的服务器正在发送以下标头max-age=31536000, public

1 个答案:

答案 0 :(得分:0)

来自用户代理的

Cache-Control: max-age=0是用户代理请求重新验证缓存中的任何内容的方式。您无法向客户端发送任何内容以阻止其发送此标头值。见http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.3。您唯一能做的就是在应用程序前配置缓存以忽略它,并将可能被视为陈旧(根据用户代理)内容的内容发送回用户代理,这应该是可能的。