你寫的php程式是否高效?你是否會擔心自己的程式太龐雜,執行速度很慢?你是否用過php動態生成?
其實每種瀏覽器都有快取策略,會暫時將每乙個瀏覽過的檔案快取在乙個特殊的資料夾裡。我們就可以在使用者重複提交頁面請求的時候,告訴使用者這個頁面沒有改變,可以呼叫快取。 那我們怎麼知道使用者有沒有這個頁面的快取資料呢? 其實瀏覽器在傳送請求的時候會先傳送http頭,一般象這樣:
date
:sun,30
jul
200609:
18:11gmt
content
-type
:image
/gif
last
-modified
:wed,19
jul
200607:
40:06gmt
etag:"
8c55da8d6abc61:2327
"content
-length
:14757
其中last-modified: wed, 19 jul 2006 07:40:06 gmt
etag: "8c55da8d6abc61:2327"就是有關頁面的快取資訊的。然後如果伺服器返回的響應**不是http 200 (ok),而是 304的話,瀏覽器就會從快取中讀取資料。
根據這個原理,我寫了乙個函式,這個函式可以用在不經常更新或者需要經常重新整理的頁面,可以大大減輕伺服器的負擔,因為它如果發現客戶端有快取,就向客戶端傳送乙個304響應,然後停止程式的執行。
<?
php
cache();
echo
date("
y-m-d h:i:s
");
function
cache()
else
header('
etag:'.
$etag
); }
?>
瀏覽器快取控制
瀏覽器快取控制 last modified if modified since validation 在瀏覽器第一次請求某乙個url時,伺服器端的返回狀態碼200,內容是客戶端請求的資源,同時有乙個last modified的屬性標記此檔案在伺服器端最後被修改的時間。客戶端第二次請求此url時,根據...
php 瀏覽器快取
瀏覽器快取動態內容,快取的內容在瀏覽器本地,而內容由web伺服器生成,任何一方都不可能完成這一系列過程,他們之間有一種溝通機制,這就是快取協商.如何協商 如用ie瀏覽器訪問這個頁面時,返回狀態碼200,連續多次重新整理這個頁面,這個頁面並沒有使用本地快取,也沒有向伺服器作出任何表示.開啟ie的和這個...
php 瀏覽器 快取,深入PHP與瀏覽器快取的分析
我們往往在伺服器上對快取設定進行各種優化方案,但是我們卻很少注意到客戶端快取,準確的說是瀏覽器的快取機制。其實每種瀏覽器都有快取策略,會暫時將每乙個瀏覽過的檔案快取在乙個特殊的資料夾裡。我們就可以在使用者重複提交頁面請求的時候,告訴使用者這個頁 面沒有改變,可以呼叫快取。那我們怎麼知道使用者有沒有這...