這是請求訊息, 可以看到cache-control已經被設定成功了.
但是請求的時候還是要從伺服器重新請求一次.
這裡的status應該是200沒錯, 但是size應該是from cache才對.
這是請求訊息, 可以看到cache-control已經被設定成功了.
但是請求的時候還是要從伺服器重新請求一次.
這裡的status應該是200沒錯, 但是size應該是from cache才對.
參考下面這個例子
<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狀態,瀏覽器內容從快取讀取。