首頁 >後端開發 >PHP問題 >php設定瀏覽器不快取的方法

php設定瀏覽器不快取的方法

藏色散人
藏色散人原創
2020-07-10 09:53:054254瀏覽

php不緩存的設定方法:1、透過meta標籤來設定;2、使用語句「Response.CacheControl="no-cache"」來設定不快取;3、透過語句「header('Pragma :no-cache'); ”來設定php頁面不緩存。

php設定瀏覽器不快取的方法

PHP強制瀏覽器不快取的方法

一般我們要查看網路上的一個網頁,那麼當您第一次造訪這個網頁的時候,系統首先要將這個網頁下載到您的本地電腦的一個臨時資料夾中進行緩存,當在一定的時間內,您第二次、第三次來訪問這個網頁的時候,瀏覽器就直接從您的本地電腦的臨時資料夾中讀取這個檔案顯示,這樣做的好處就是避免每次都要重新下載而佔用大量的時間和網路資源,不得不說頁面的快取加快了網頁的顯示,當然也有它的壞處,例如當伺服器上的網頁己經更新,而本地顯示的還是沒有更新的網頁,這樣就不能及時的顯示更新後的內容,在某些情況下,我們需要禁止瀏覽器緩存,以使我們每次看到的頁面都是最新的頁面(例如後台操作、大型網站的實時新聞頁面),這時我們就要禁用瀏覽器緩存,下面分別說明了在四種不同的頁面環境下來禁止網頁快取:

一、對於靜態頁(就是透過meta標籤來設定):

<!--expires用于设定网页的过期时间,一旦过期就必须从服务器上重新加载.时间必须使用GMT格式-->
<meta http-equiv="expires" content="Sunday 26 October 2008 01:00 GMT" />

或透過pragma no-cache來設置,pragma出現在http-equiv屬性中,使用content屬性的no-cache值表示是否快取網頁(為了提高速度一些瀏覽器會快取瀏覽者瀏覽過的頁面,透過下面的定義,瀏覽器一般不會快取頁面,而且瀏覽器無法脫機瀏覽)。

<meta http-equiv="pragma" content="no-cache" />

二、對於ASP頁面:

<%
Response.Buffer=true
Response.CacheControl="no-cache" &#39;禁止代理服务器缓存本页面
Response.Expires=-1000 &#39;让页面立即过期(这儿最好设置一个绝对值较大的负数)
%>

三、對於JSP頁面:

<%
if(request.getProtocol().compareTo("HTTP/1.0")==0){
	response.setHeader("Pragma","no-cache");
}
if(request.getProtocol().compareTo("HTTP/1.1")==0){
	response.setHeader("Cache-Control","no-cache");
}
response.setDateHeader("Expires",0);
%>

四、對於PHP頁面:

<?php 
header(&#39;Cache-Control:no-cache,must-revalidate&#39;);   
header(&#39;Pragma:no-cache&#39;);   
?>

強調說明:對於動態頁面,快取的程式碼必須放在任何HTML標籤輸出之前,否則將會出錯。

更多相關知識,請造訪PHP中文網

以上是php設定瀏覽器不快取的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn