我的Web项目基于XSLT创建的XHTML页面,需要一些时间才能创建。另一方面,原始XML很少改变。因此,我在PHP中设置了一个带HTTP头的浏览器缓存:
header("Cache-Control: public, max-age=3600");
回去"回来"和"前进"在浏览器中现在非常流畅。
但还有另一种情况: 通过单击某些链接,用户可能会再次获得相同的页面。 URL也完全相同。但在这种情况下,页面不会从浏览器缓存加载,而是重新创建。我在http://www.webgeekly.com/tutorials/php/learn-how-to-cache-content-with-php-in-under-5-minutes/找到了一个非常好的服务器缓存解决方案。但是从浏览器缓存中检索文件甚至会更快。
那么,PHP中有没有办法做到这一点:
提前致谢!
答案 0 :(得分:1)
如果你的php脚本被执行,浏览器已经决定不使用它的缓存。否则它根本不会请求您的页面,只是从缓存中为用户提供服务。含义:当时无法从php触发缓存。
它没有使用缓存的原因是因为浏览器认为结果将是另一个页面。因此,如果您确保同一页面始终链接到相同的URL,则缓存将正常工作。
这里的一个陷阱可能是
http://example.com/somepage.php
http://example.com/somepage.php?someparam=1
http://example.com/somepage.php?someparam=2
这些网址都生成相同的响应,但浏览器认为它们不同。