防止頁面客戶端被緩存
來源:程序員人生 發(fā)布時間:2015-01-17 10:03:18 閱讀次數(shù):3319次
避免頁面客戶端被緩存
許多閱讀器為了能快速向用戶展現(xiàn)所要求的頁面,會把來自服務(wù)器的網(wǎng)頁寄存在客戶真?zhèn)€緩存中,如果用戶屢次
要求訪問服務(wù)器真?zhèn)€同1個網(wǎng)頁,并且在客戶真?zhèn)€緩存中年已存在該網(wǎng)頁,那末閱讀器只需要從緩存中獲得該網(wǎng)頁
,其實不需要在要求訪問遠程服務(wù)器上的網(wǎng)頁
閱讀器真?zhèn)€緩存技術(shù)適用于保存服務(wù)器真?zhèn)€靜態(tài)網(wǎng)頁,和不包括敏感數(shù)據(jù)的網(wǎng)頁,1下情形中,服務(wù)器常常
不希望客戶端被閱讀器緩存:
(1)網(wǎng)頁包括隨時會被更新的動態(tài)內(nèi)容,由于如果閱讀器向用戶展現(xiàn)本地緩存中的網(wǎng)頁,有可能展現(xiàn)的是過期的網(wǎng)頁
(2)網(wǎng)頁中包括敏感的數(shù)據(jù),如特定用戶的銀行賬戶信息,電子郵件內(nèi)容,由于如果閱讀器把網(wǎng)頁保存在本地緩存中
有可能被其他未授權(quán)的用戶訪問到該網(wǎng)頁
服務(wù)器真?zhèn)€HttpServlet可以通過設(shè)置特定的HTTP響應(yīng)頭來制止客戶端緩存網(wǎng)頁,
response.addHeader("Pragma","no-cache");
response.setHeader("Cache-Control","no-cache");
response.setHeader("Expires","0");
"Parama"選項適應(yīng)于采取HTTP1.0的閱讀器,在HTTP1.1中,"Cache-Control"選項用來決定客戶端是不是可以緩存網(wǎng)頁,如果取值為
"no-cache"那末客戶端不會把Servlet生成的網(wǎng)頁保存在本地緩存中,HTTP1.0和HTTP1.1都支持"Expires"選項
因此所有的閱讀器都能辨認該選項,"Expires"選項用于設(shè)定網(wǎng)頁過期的時間,如果為0,就表示立即過期,如果用戶重復(fù)要求訪問該
網(wǎng)站,那末閱讀器每次都應(yīng)當從服務(wù)器端獲得最新的網(wǎng)頁數(shù)據(jù)
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機掃描二維碼進行捐贈