微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 如何使用control-cache标头?

我为Google Chrome浏览器下载了Google速度跟踪器,以了解我的网站如何提高性能,它告诉我需要为某些文件启用缓存,例如我的style.css,图片等.

我已经读过下面的PHP代码应该告诉浏览器缓存html内容.我写了一个快速PHP页面,上面有几个图像,并将下面的代码放在顶部(在发送标题之前),以测试它是如何工作的.

Header("Cache-Control: public,max-age=3600,must-revalidate");

当我回到速度跟踪器的分析时,它说……

摘要
来自Cache:false

请求标题
Pragma:没有缓存
缓存控制:max-age = 0

但在响应标题下……
缓存控制:public,max-age = 3600,必须重新验证(正是我指定的)

我有点困惑,发生了什么……?当它从缓存中说:false是指从服务器缓存而不是客户端的缓存?

关键是必须重新验证:这意味着客户端询问服务器文件是否已更改.如果您不处理这种情况,浏览器将获取新副本.

阅读Mark Nottingham’s fantastic Caching Tutorial获取更多信息.
作为PHP实现的示例,您可以使用my code.

查看$_SERVER [‘HTTP_IF_NONE_MATCH’]和$_SERVER [‘HTTP_IF_MODIFIED_SINCE’]以验证客户端.请注意,两个标头可能都包含恶意代码.

原文地址:https://www.jb51.cc/php/136235.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐