it-swarm.cn

如何让浏览器在认为其缓存副本仍然有效时下载新的网页副本?

有时,当我对网站进行小的更改时,我注意到某些浏览器对于再次下载页面非常顽固。 F5和CTRL-R都没有价值,修复它的唯一方法是通过选项并手动告诉它清除缓存。我之前使用PHP来发送缓存刷新标头,但有更简单或更好的方法吗?

5
dmsnell

这取决于缓存的内容。如果它是主页面,则防止缓存的唯一方法是使用无缓存HTTP标头。

但请记住,JS和CSS文件通常也会被缓存。当许多网站改变使用它们时,使其失效的一个技巧 - 包括这个 - 在“?”之后附加一个虚拟数字。 '?'之后的一切Web服务器会忽略它,但由于URL更改,浏览器始终会重新下载它。

从这个页面中取一个例子:http://sstatic.net/webmasters/all.css?v=ac775b7bd951。 “ac775b7bd951”来自使用的版本控制系统Mercurial。你可以用svn做类似的事情(例如:all.css?revision = 123)。

6
Thomas Bonini

使用缓存刷新F5。 Ctrl-F5将忽略缓存。我不确定,但听起来像Ctrl-R相当于F5而不是Ctrl-F5?

2
Rebecca Chernoff