控制浏览器缓存

时间:2011-03-17 20:36:09

标签: php javascript html caching browser

所以假设我在一个页面中有一大堆图像,然后我转到一个具有完全相同的图像和布局的不同网址,因为网址不同,浏览器将重新加载所有图像,布局等而不会即使它们是完全相同的图像/布局,也要从缓存中显示它们。

有没有办法防止这种情况并控制浏览器仅使用javascript,php或html缓存内容的方式?

修改/添加

有趣的是,首先我有两个相同网站的副本,一个在我的本地服务器上,另一个在远程托管服务器上.......

本地服务器上的那个完全缓存并且没有任何图像重新出现,而如果我访问远程服务器上的图像,图像将尝试重新出现....尽管文件等实际上是相同的本地和远程服务器之间......

修改/添加

另一个有趣的事情......即使对于远程服务器,缓存也适用于IE和Chrome,但出于某种原因,它会搞砸firefox ....

另一方面,本地服务器中的那个甚至可以用于firefox

2 个答案:

答案 0 :(得分:1)

除非您已将标头设置为/images/image1.jpg,否则不会重新获取具有固定目录no-cache的图像。它不应该重新下载另一页上的所有图像。

使用各种工具进行测试,例如Firebug with Firefox或Safari / Chrome webkit web开发人员跟踪。它会在缓存或重新下载时通知您。

希望这就是你要问的......

答案 1 :(得分:1)

通过使用标题无效来询问浏览器缓存

    header("Cache-Control: private, max-age=5400, pre-check=5400");
    header("Pragma: private");
    header("Expires: " . gmdate("D, d M Y H:i:s"). " GMT");

有一个很好的网站可以检查已退回的标题http://redbot.org尝试一下它可能会有所帮助,如果你没有想出答案,你可能会想看看http://www.mnot.net/cache_docs/