我正在webpagetest.org上测试我的网站。它给了我一个
然后继续给出这个清单:
利用静态资产的浏览器缓存:63/100
警告 - (2.0小时) - http://stats.g.doubleclick.net/dc.js
警告 - (5.5天) - http://www.bookmine.net/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png
警告 - (5.5天) - http://www.bookmine.net/favicon.ico
警告 - (5.5天) - http://www.bookmine.net/js/index.min.js
警告 - (5.5天) - http://www.bookmine.net/js/jquery-ui-1.8.13.custom.min.js
警告 - (5.5天) - http://www.bookmine.net/css/index.css
警告 - (5.5天) - http://www.bookmine.net/js/jquery.form.min.js
警告 - (5.5天) - http://www.bookmine.net/css/jquery-ui-1.8.13.custom.css
default_expiration: "5d 12h"
和this链接中设置了app.yaml
:
default_expiration
可选。静态文件服务的静态文件的时间长度 如果处理程序,处理程序应该由Web代理和浏览器缓存 没有指定自己的到期日。该值是一串数字 和单位,以空格分隔,单位可以
d
天,h
数小时,m
分钟,s
秒。例如,“4d 5h” 将缓存过期设置为文件第一次后的4天和5小时 请求。如果省略,生产服务器将到期时间设置为10 分钟。例如:
应用程序:myapp版本:alpha-001运行时:python27 api_version:1 threadsafe:true
default_expiration:“4d 5h”
处理程序: 重要提示:到期时间将在Cache-Control和Expires HTTP响应标头中发送,因此,文件很可能 由用户的浏览器缓存,以及中间缓存 代理服务器,如Internet服务提供商。一旦文件是 在给定的到期时间内传输,通常没有办法 即使用户清除了自己的缓存,也要将其从中间缓存中清除 浏览器缓存。重新部署新版本的应用程序将不会重置 任何缓存。因此,如果您计划修改静态文件,那么 应该有一个短暂(不到一小时)的到期时间。多数情况 例如,默认的10分钟到期时间是合适的。
我甚至验证了我的网站回复小提琴的回复:
HTTP / 200响应默认是可缓存的,除非Expires,Pragma, 或Cache-Control标头存在并禁止缓存。 HTTP / 1.0 Expires Header现在:星期六,26九月2015 08:14:56 GMT
HTTP / 1.1 存在缓存控制标头:public,max-age = 475200 public:此响应可以由任何缓存缓存。 max-age:这个 资源将在132小时后到期。 [475200秒]
HTTP / 1.1 ETAG标题存在:“74YGeg”
那我为什么要得到D?
添加一些有用的链接:
- http://www.learningtechnicalstuff.com/2011/01/static-resources-and-cache-busting-on.html
- http://www.codeproject.com/Articles/203288/Automatic-JS-CSS-versioning-to-update-browser-cach
- https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/http-caching#invalidating-and-updating-cached-responses
- https://developers.google.com/speed/docs/insights/LeverageBrowserCaching
- https://stackoverflow.com/a/7671705/147530
- http://www.particletree.com/notebook/automatically-version-your-css-and-javascript-files/
答案 0 :(得分:4)
如果缓存过期时间设置少于30天,则WebPagetest会发出警告。您可以通过单击" D"来查看该详细信息。在测试结果中评分并查看" Cache Static"的词汇表。您还可以找到该信息here。
如果需要修改缓存的静态javascript文件,可以在文件路径或查询字符串中添加版本号。