php - 利用http的Last-Modified缓存,读取缓存文件?
天蓬老师
天蓬老师 2017-05-16 13:14:43
0
1
645

最近研究了一下利用http的Last-Modified缓存机制,可以让浏览器读取缓存文件,
$num = 4; //模拟服务器数据变化,判断浏览器是否需要读取缓存文件
if($num==4) {

  if( isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) ){  
    $browserCachedCopyTimestamp = strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']);  
     if ( ( $browserCachedCopyTimestamp + 3600 ) > time() ) {  
        header("HTTP/1.1 304");  
        exit(1);  
     }  
  }  

}else{

    header('Last-Modified: '.gmdate('D, d M Y H:i:s',time())." GMT");  
    header('Expires: '.gmdate('D, d M Y H:i:s', time() + 3600)." GMT");  
    header("Cache-Control:max-age=3600");  
   
    for( $i=1; $i < 10 ; $i++ ){  
       echo "$i|";      
    }  

}
上面我测试了可以读取缓存文件但是刚刚在网上看了一下说是

【Last-Modified和ETags请求的http报头一起使用,服务器首先产生Last-Modified/Etag标记,服务器可在稍后使用它来判断页面是否已经被修改,来决定文件是否继续缓存】
为什么要Last-Modified和ETags一起使用啊。搞不懂。

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(1)
大家讲道理

引用别人的一篇回答链接描述

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板