所以假设我在一个页面中有一大堆图像,然后我转到一个具有完全相同的图像和布局的不同网址,因为网址不同,浏览器将重新加载所有图像,布局等而不会即使它们是完全相同的图像/布局,也要从缓存中显示它们。
有没有办法防止这种情况并控制浏览器仅使用javascript,php或html缓存内容的方式?
修改/添加 的
有趣的是,首先我有两个相同网站的副本,一个在我的本地服务器上,另一个在远程托管服务器上.......
本地服务器上的那个完全缓存并且没有任何图像重新出现,而如果我访问远程服务器上的图像,图像将尝试重新出现....尽管文件等实际上是相同的本地和远程服务器之间......
修改/添加 的
另一个有趣的事情......即使对于远程服务器,缓存也适用于IE和Chrome,但出于某种原因,它会搞砸firefox ....
另一方面,本地服务器中的那个甚至可以用于firefox
答案 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/。