来自浏览器的Cache-Control: max-age=0
标头导致我的rails 3.1应用程序中带有md5缓存破坏程序的静态资产无法永久缓存,因为浏览器要求完全重新验证缓存并获取304而不是改性。我希望浏览器使用自己的缓存并且永远不会重新验证。我的服务器正在发送以下标头max-age=31536000, public
。
答案 0 :(得分:0)
Cache-Control: max-age=0
是用户代理请求重新验证缓存中的任何内容的方式。您无法向客户端发送任何内容以阻止其发送此标头值。见http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.3。您唯一能做的就是在应用程序前配置缓存以忽略它,并将可能被视为陈旧(根据用户代理)内容的内容发送回用户代理,这应该是可能的。