Maison  >  Article  >  développement back-end  >  php设置cache-control失效

php设置cache-control失效

WBOY
WBOYoriginal
2016-12-01 00:56:271742parcourir

这是请求信息, 可以看到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状态,浏览器内容从缓存中读取。

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn