用 php 控制瀏覽器快取是非常容易的,手冊上也相關的說明,由於很多初學者沒有把手冊看完,所以還是會有很多關於這個問題的疑問,故在此專門發一篇文章,同時對相關的語法做了詳細的說明,方便新手查閱。
要解決這一問題,可以通過 php 中的 header() 函式,傳送特定的快取控制原始 http 標頭,具體**如下:
example source code
<?php
//下面的語句設定此頁面的過期時間(用格林威治時間表示),只要是已經過去的日期即可。
header("expires: mon, 26 jul 1970 05:00:00 gmt");
//下面的語句設定此頁面的最後更新日期(用格林威治時間表示)為當天,可以強迫瀏覽器獲取最新資料
header("last-modified: " . gmdate("d, d m y h:i:s") . " gmt");
//告訴客戶端瀏覽器不使用快取,http 1.1 協議
header("cache-control: no-cache, must-revalidate");
//告訴客戶端瀏覽器不使用快取,相容http 1.0 協議
header("pragma: no-cache");
?>
注意:header() 必須在任何實際輸出之前呼叫,不論是來自普通的 html 標記,空行或者 php。在中文環境下,乙個全形的空格也會導致難以查詢的錯誤!
php 瀏覽器快取
瀏覽器快取動態內容,快取的內容在瀏覽器本地,而內容由web伺服器生成,任何一方都不可能完成這一系列過程,他們之間有一種溝通機制,這就是快取協商.如何協商 如用ie瀏覽器訪問這個頁面時,返回狀態碼200,連續多次重新整理這個頁面,這個頁面並沒有使用本地快取,也沒有向伺服器作出任何表示.開啟ie的和這個...
php 瀏覽器 快取,深入PHP與瀏覽器快取的分析
我們往往在伺服器上對快取設定進行各種優化方案,但是我們卻很少注意到客戶端快取,準確的說是瀏覽器的快取機制。其實每種瀏覽器都有快取策略,會暫時將每乙個瀏覽過的檔案快取在乙個特殊的資料夾裡。我們就可以在使用者重複提交頁面請求的時候,告訴使用者這個頁 面沒有改變,可以呼叫快取。那我們怎麼知道使用者有沒有這...
PHP與瀏覽器快取
我們往往在伺服器上對快取設定進行各種優化方案,但是我們卻很少注意到客戶端快取,準確的說是瀏覽器的快取機制。其實每種瀏覽器都有快取策略,會暫時將每乙個瀏覽過的檔案快取在乙個特殊的資料夾裡。我們就可以在使用者重複提交頁面請求的時候,告訴使用者這個頁 面沒有改變,可以呼叫快取。那我們怎麼知道使用者有沒有這...