首页  >  文章  >  后端开发  >  php设置cache-control失效

php设置cache-control失效

WBOY
WBOY原创
2016-12-01 00:56:271703浏览

这是请求信息, 可以看到cache-control已经被设置成功了.
php设置cache-control失效

但是请求的时候依然要从服务器重新请求一次.

这里的status应该是200没错, 但是size应该是from cache才对.

php设置cache-control失效

回复内容:

这是请求信息, 可以看到cache-control已经被设置成功了.
php设置cache-control失效

但是请求的时候依然要从服务器重新请求一次.

这里的status应该是200没错, 但是size应该是from cache才对.

php设置cache-control失效

参考下面这个例子

<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状态,浏览器内容从缓存中读取。

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn