欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

讓HTML和JSP頁(yè)面不緩存從Web服務(wù)器上重新獲取頁(yè)面

  發(fā)布時(shí)間:2013-08-28 18:49:09   作者:佚名   我要評(píng)論
當(dāng)點(diǎn)擊后退按鈕時(shí),默認(rèn)情況下瀏覽器不是從Web服務(wù)器上重新獲取頁(yè)面,而是從瀏覽器緩存中載入頁(yè)面,那么怎么才能讓HTML和JSP頁(yè)面不緩存呢?下面為大家介紹下比較詳細(xì)的解決方法
用戶(hù)退出后,如果點(diǎn)擊瀏覽器上的后退按鈕,Web應(yīng)用將不能正確保護(hù)受保護(hù)的頁(yè)面——在Session銷(xiāo)毀后(用戶(hù)退出)受保護(hù)的JSP頁(yè)重新在瀏覽器中顯示出來(lái)。
然而,如果用戶(hù)點(diǎn)擊返回頁(yè)面上的任何鏈接,Web應(yīng)用將會(huì)跳轉(zhuǎn)到登陸頁(yè)面并提示Session has ended.Please log in.

上述問(wèn)題的根源在于大部分瀏覽器都有一個(gè)后退按鈕。

當(dāng)點(diǎn)擊后退按鈕時(shí),默認(rèn)情況下瀏覽器不是從Web服務(wù)器上重新獲取頁(yè)面,而是從瀏覽器緩存中載入頁(yè)面。

基于Java的Web應(yīng)用并未限制這一功能,在基于PHP、ASP和.NET的Web應(yīng)用中也同樣存在這一問(wèn)題。
幸運(yùn)的是,HTTP頭信息“Expires”和“Cache-Control”為應(yīng)用程序服務(wù)器提供了一個(gè)控制瀏覽器和代理服務(wù)器上緩存的機(jī)制。

HTTP頭信息Expires告訴代理服務(wù)器它的緩存頁(yè)面何時(shí)將過(guò)期。
HTTP1.1規(guī)范中新定義的頭信息Cache-Control可以通知瀏覽器不緩存任何頁(yè)面。

當(dāng)點(diǎn)擊后退按鈕時(shí),瀏覽器重新訪問(wèn)服務(wù)器已獲取頁(yè)面。

如下是使用Cache-Control的基本方法:
1) no-cache:強(qiáng)制緩存從服務(wù)器上獲取新的頁(yè)面
2) no-store: 在任何環(huán)境下緩存不保存任何頁(yè)面

保險(xiǎn)起見(jiàn),對(duì)html頁(yè)面和jsp最好都加一些設(shè)置

對(duì)于HTML網(wǎng)頁(yè),加入:

復(fù)制代碼
代碼如下:

<meta HTTP-EQUIV="pragma" CONTENT="no-cache">
<meta HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
<meta HTTP-EQUIV="expires" CONTENT="0">

對(duì)于JSP頁(yè)面,加入:

復(fù)制代碼
代碼如下:

<%
response.setHeader("Cache-Control","no-store");
response.setHeader("Pragrma","no-cache");
response.setDateHeader("Expires",0);
%>

就可以了。

相關(guān)文章

最新評(píng)論