天天看點

禁止ie緩存

nocache.jsp:

(背景配置)

<%

response.setHeader("Cache-Control","no-cache"); //HTTP 1.1

response.setHeader("Pragma","no-cache"); //HTTP 1.0

response.setDateHeader ("Expires", 0); //prevents caching at the proxy server

%>

頁面header中:

(前台配置)

<meta http-equiv="Expires" content="-10">

<meta http-equiv="Pragma" content="No-cache">

<meta http-equiv="Cache-Control", "private">

保險起見,前背景的禁止緩存的配置都把它寫上。。。。。

 ==================華麗的分割線=============================================

HTTP消息報頭包括普通報頭、請求報頭、響應報頭、實體報頭。

普通報頭中的Cache-Control用于指定緩存指令,緩存指令是單向的(響應中出現的緩存指令在請求中未必會出現),且是獨立的(一個消息的緩存指令不會影響另一個消息處理的緩存機制),HTTP1.0使用的類似的報頭域為Pragma。

請求時的緩存指令包括:no-cache(用于訓示請示或響應消息不能緩存)、no-store、max-age、max-stale、min-fresh、only-if-cached;

響應時的緩存指令包括:public、private、no-cache、no-store、no-transform、must-revalidate、proxy-revalidate、max-age、s-maxage。

例:為了訓示IE浏覽器(用戶端)不要緩存頁面,伺服器端的jsp程式可以編寫如下:

response.setHeader(“Cache-Control”, “no-cache”);

//response.setHeader(“Pragma”, “no-cache”);作用相當于上行代碼,通常兩者合用

Expires實體報頭域給出響應過期的日期和時間。為了讓代理伺服器或浏覽器在一段時間以後更新緩存中(再次通路曾通路過的頁面時,直接從緩存中加載,縮短響應時間和降低伺服器負載)的頁面,我們可以使用Expires實體報頭域指定頁面過期時間。

例:Expires:Thu,15 Sep 2006 16:23:12 GMT

HTTP1.1的用戶端和緩存必須将其他非法的日期格式(包括0)看作已經過期。如:為了讓浏覽器不要緩存頁面,也可以利用Expires實體報關域,設定為0,jsp程式如下:

response.setDateHeader(“Expires”, “0”);

  //JSP

禁止緩存代碼

 response.setHeader("Pragma", "No-cache");

 response.setHeader("Cache-Control", "no-cache");

 response.setDateHeader("Expires", 0);

 response.flushBuffer();

 另,網上各種禁用戶端緩存總結如下:

HTM網頁

  <META   HTTP-EQUIV="pragma"   CONTENT="no-cache">   

  <META   HTTP-EQUIV="Cache-Control"   CONTENT="no-cache,   must-revalidate">   

  <META   HTTP-EQUIV="expires"   CONTENT="Wed,   26   Feb   1997   08:21:57   GMT">

  ASP網頁

  <%   

      Response.Expires   =   -1   

      Response.ExpiresAbsolute   =   Now()   -   1          Response.cachecontrol   =   "no-cache"   

  %>   

  PHP網頁

  header("Expires:   Mon,   26   Jul   1997   05:00:00   GMT");   

  header("Cache-Control:   no-cache,   must-revalidate");   

  header("Pragma:   no-cache");   

  JSP   

          response.setHeader("Pragma","No-Cache");   

          response.setHeader("Cache-Control","No-Cache");   

          response.setDateHeader("Expires",   0);   

  C#中禁止cache的方法!   

  Response.Buffer=true;   

  Response.ExpiresAbsolute=System.DateTime.Now.AddSeconds(-1);   

  Response.Expires=0;   

上一篇: 最新的hosts
下一篇: 禁止解析php