php禁止客戶端緩存的方法:1、對于靜態(tài)頁,通過meta標(biāo)簽來設(shè)置網(wǎng)頁的過期時(shí)間并且設(shè)置瀏覽器不會(huì)緩存頁面;2、對于PHP頁面,通過header('Pragma:no-cache');來禁止客戶端緩存。
本文操作環(huán)境:windows7系統(tǒng)、PHP7.1版、Dell G3電腦。
php怎么禁止客戶端緩存?
一般我們要查看網(wǎng)上的一個(gè)網(wǎng)頁,那么當(dāng)您第一次訪問這個(gè)網(wǎng)頁的時(shí)候,系統(tǒng)首先要將這個(gè)網(wǎng)頁下載到您的本地計(jì)算機(jī)的一個(gè)臨時(shí)文件夾中進(jìn)行緩存,當(dāng)在一定的時(shí)間內(nèi),您第二次、第三次來訪問這個(gè)網(wǎng)頁的時(shí)候,瀏覽器就直接從您的本地計(jì)算機(jī)的臨時(shí)文件夾中讀取這個(gè)文件顯示,這樣做的好處就是避免每次都要重新下載而占用大量的時(shí)間和網(wǎng)絡(luò)資源,不得不說頁面的緩存加快了網(wǎng)頁的顯示,當(dāng)然也有它的壞處,例如當(dāng)服務(wù)器上的網(wǎng)頁己經(jīng)更新,而本地顯示的還是沒有更新的網(wǎng)頁,這樣就不能及時(shí)的顯示更新后的內(nèi)容,在某些情況下,我們需要禁止瀏覽器緩存,以使我們每次看到的頁面都是最新的頁面(例如后臺操作、大型網(wǎng)站的實(shí)時(shí)新聞頁面),這時(shí)我們就要禁用瀏覽器緩存,下面分別說明了在四種不同的頁面環(huán)境下來禁止網(wǎng)頁緩存:
一、對于靜態(tài)頁(就是通過meta標(biāo)簽來設(shè)置):
<!–expires用于設(shè)定網(wǎng)頁的過期時(shí)間,一旦過期就必須從服務(wù)器上重新加載.時(shí)間必須使用GMT格式–>
<meta http-equiv="expires" content="Sunday 26 October 2008 01:00 GMT" />
或者通過pragma no-cache來設(shè)置,pragma出現(xiàn)在http-equiv屬性中,使用content屬性的no-cache值表示是否緩存網(wǎng)頁(為了提高速度一些瀏覽器會(huì)緩存瀏覽者瀏覽過的頁面,通過下面的定義,瀏覽器一般不會(huì)緩存頁面,而且瀏覽器無法脫機(jī)瀏覽)。
<meta http-equiv="pragma" content="no-cache" />
二、對于PHP頁面:
<?php header('Cache-Control:no-cache,must-revalidate'); header('Pragma:no-cache'); ?>
強(qiáng)調(diào)說明:對于動(dòng)態(tài)頁面,緩存的代碼必須放在任何HTML標(biāo)簽輸出之前,否則將會(huì)出錯(cuò)。
推薦學(xué)習(xí):《PHP視頻教程》