php - 利用http的Last-Modified緩存,讀取快取檔案?
天蓬老师
天蓬老师 2017-05-16 13:14:43
0
1
644

最近研究了一下利用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)
大家讲道理

引用別人的一篇回答連結描述

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板