首頁  >  文章  >  後端開發  >  php設定cache-control失效

php設定cache-control失效

WBOY
WBOY原創
2016-12-01 00:56:271742瀏覽

這是請求訊息, 可以看到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