heroku上的Sprockets max-age头

时间:2012-02-12 18:37:18

标签: heroku sprockets s-maxage

我的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

1 个答案:

答案 0 :(得分:0)

您是按Command + R还是Ctrl + R?浏览器刷新按钮有意重新检查其资产的新鲜度。它假设您正在进行刷新,因为某些内容在页面上无法正常运行。

如果您要测试标题,请访问该页面一次,然后关注位置栏并按Enter再次访问该页面。资产应该来自缓存。

相关问题