YSLOW 建议: 对于静态组件:通过设置远期 Expires 标头来实施“永不过期”策略....如果您使用远期 Expires 标头,则必须在组件更改时更改组件的文件名。在雅虎!我们经常将此步骤作为构建过程的一部分:版本号嵌入在组件的文件名中,例如 yahoo_2.0.6.js。 http://developer.yahoo.com/performance/rules.html
我想为我的大部分静态页面利用缓存,并在版本 # 更改时重新加载 js 文件。我为我的 .js 文件设置了版本号,但我的 main.html 页面将 Expires 设置为未来,因此它不会重新加载,因此不会重新加载 js 文件。理想情况下,我想告诉浏览器(使用通灵技术)在发布新版本的站点时重新加载 main.html。我可以让我的 main.html 页面总是重新加载,但是我失去了缓存的好处。我不是在寻找 ctrl-F5 答案,因为这需要为我们的用户自动发生。
我认为答案是:main.html 不能被缓存,但我想听听其他人在做什么来解决这个问题。您如何获得最佳缓存与重新加载优势。
谢谢。