我正在尝试优化网站的加载时间。我所做的其中一件事是为静态内容设置一个 far-futures expires header ,以便它们被缓存(如 Yahoo 所述)。然而,即使它们被缓存,浏览器仍然发送请求并取回该资源的 304(未修改)响应。
我意识到 304 响应非常小,可能对性能的影响很小,但是有没有办法让浏览器根本不再发送请求,而是始终使用该资源的缓存?
最佳答案
您可能想尝试 turning off ETags如果您同时发送 etags 和过期时间。一些人suggest turning off eTags ,尤其是在您有负载均衡器的情况下。
另请注意,当您在页面上按下重新加载时,Firefox 将重新检查所有资源。这些将返回 304。如果你按下 shift-reload,它会重新请求所有没有 etags 的资源。所以不要使用刷新/重新加载按钮来测试你的最后修改/etag 设置。
关于http - 远期过期 header 和 HTTP 304,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2062066/