我帮助维护几个发布新闻和参考信息的基于Wordpress的网站。
我们一直在努力使网站上的网页尽快加载。
我们所做的一件事是在我们的大多数静态文件(例如图像和css文件)的“缓存控制”http标头中实现非常长的“最大 - 年龄”时间。
我们使用的特定缓存控制设置是“public,max-age = 31536000”。 31,536,000秒是365天。
好处是,实际上,当访问者浏览我们网站的不同页面时,此设置会导致静态文件被缓存。
但这就是问题。这种缓存控制设置对我们在浏览器会话中没有太大作用。即使该设置应该告诉浏览器“缓存此文件整整一年”,如果我们网站的访问者关闭了他们的浏览器,然后在五分钟后启动它并返回我们的网站,浏览器坚持重新加载所有静态文件,即使它仍然在缓存中。
我在Firefox中仔细检查了这一点,使用Live HTTP Headers查看标题。但我也可以定性地看到其他浏览器中发生的事情。
显然,如果在当前浏览器会话期间内容尚未加载一次,浏览器会坚持重新加载网站的所有内容。
那么......我们是否有任何方式可以“礼貌地向浏览器提出”他们总是从缓存中加载缓存内容,即使浏览器在当前浏览器会话期间没有访问过我们的网站?
答案 0 :(得分:0)
同时检查ETag,Expires和Last-Modified标头。
您需要一个Expires标头,有时ETag和Last-Modified可以阻止缓存。