我的application.js文件名看起来像application-b600352536291bc180983d43e6a2407f.js
。所以它的名字中有md5缓存破坏程序。我已将静态资产的max-age选项设置为1小时config.static_cache_control = "public, max-age=3600"
。但我观察到浏览器不尊重max-age
标头并始终从服务器重新验证并执行304 Not Modified
的往返。我怎样才能保存往返旅程?
请求标题
Request URL:https://blah.com/assets/application-b600352536291bc180983d43e6a2407f.js
Request Method:GET
Status Code:304 Not Modified
Request Headersview source
Accept:*/*
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Cache-Control:max-age=0
Connection:keep-alive
If-Modified-Since:Sun, 12 Feb 2012 07:36:16 GMT
响应标题
Cache-Control:public, max-age=3600
Connection:keep-alive
Date:Sun, 12 Feb 2012 18:27:48 GMT
Last-Modified:Sun, 12 Feb 2012 07:36:16 GMT
Server:nginx
Vary:Accept-Encoding
Via:1.1 varnish
X-Varnish:499878183
答案 0 :(得分:0)
您是按Command + R
还是Ctrl + R
?浏览器刷新按钮有意重新检查其资产的新鲜度。它假设您正在进行刷新,因为某些内容在页面上无法正常运行。
如果您要测试标题,请访问该页面一次,然后关注位置栏并按Enter
再次访问该页面。资产应该来自缓存。