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’]以验证客户端.请注意,两个标头可能都包含恶意代码.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...