Maison > Article > développement back-end > php设置cache-control失效
这是请求信息, 可以看到cache-control已经被设置成功了.
但是请求的时候依然要从服务器重新请求一次.
这里的status应该是200没错, 但是size应该是from cache才对.
这是请求信息, 可以看到cache-control已经被设置成功了.
但是请求的时候依然要从服务器重新请求一次.
这里的status应该是200没错, 但是size应该是from cache才对.
参考下面这个例子
<code><?php $cache_time = 3600; $modified_time = @$_SERVER['HTTP_IF_MODIFIED_SINCE']; if( strtotime($modified_time)+$cache_time > time() ){ header("HTTP/1.1 304"); exit; } header("Last-Modified: ".gmdate("D, d M Y H:i:s", time() )." GMT"); echo time(); ?> </code>
用浏览器打开,我们可以看到第一次打开,返回的状态码为200,打印时间为最新时间。然后我们第二次打开,可以看到状态码为304,时间和刚才的时间一样,表明我们是使用到缓存了。我们删除last_modified.php文件,然后第三次打开页面,浏览器返回404错误,可见Last-Modified虽然使用了缓存,但是每次打开页面依然需要向服务器发起http请求,浏览器根据用户的$_SERVER['HTTP_IF_MODIFIED_SINCE']来判断浏览器的内容是否过期,没过期的话返回304状态,浏览器内容从缓存中读取。