怎么保证html页面不被缓存--利用随机数字OR更好的时间戳作为请求参数


怎么保证html页面不被缓存
保险起见,对html页面和jsp最好都加一些设置

对于HTM网页,加入:

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

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

<meta HTTP-EQUIV="expires" CONTENT="0">

然后,jsp页面中加入:

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

其他的页面

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");




 1、在Asp页面首部 < head > 加入   
以下是引用片段:
  Response.Buffer   =   True    
  Response.ExpiresAbsolute   =   Now()   -   1    
  Response.Expires   =   0    
  Response.CacheControl   =   "no-cache"    
  Response.AddHeader   "Pragma",   "No-Cache"   

  2、在HtML代码中加入   
以下是引用片段:
  
< HEAD >     
  
< META    HTTP-EQUIV ="Pragma"    CONTENT ="no-cache" >     
  
< META    HTTP-EQUIV ="Cache-Control"    CONTENT ="no-cache" >     
  
< META    HTTP-EQUIV ="Expires"    CONTENT ="0" >     
  
</ HEAD >    
 
    
  3、在重新调用原页面的时候在给页面传一个参数   Href="****.asp?random()"  

  前两个方法据说有时会失效,而第三种则是在跳转时传一个随机的参数! 因为aspx的缓存是与参数相关的,如果参数不同就不会使用缓存,而会重新生成页面,每次都传一个随机的参数就可以避免使用缓存。这个仅适用于asp
&asp .net

  4、在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 


  这些代码加在
< head >   </ head > 中间具体如下

以下是引用片段:
< head >  
<%  
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 
%>  
</ head >  


  5、window.location.replace("WebForm1.aspx");   
  参数就是你要覆盖的页面,replace的原理就是用当前页面替换掉replace参数指定的页面。   
这样可以防止用户点击back键。使用的是javascript脚本,举例如下:

  a.html

以下是引用片段:
< html >  
    
< head >  
        
< title > a </ title >       
        
< script  language ="javascript" >  
            
function  jump(){ 
                window.location.replace(
" b.html " ); 
            } 
        
</ script >  
    
</ head >  
    
< body >  
       
< href ="javascript:jump()" > b </ a >  
   
</ body >  
</ html >    


  b.html

以下是引用片段:
< html >  
    
< head >  
        
< title > b </ title >       
        
< script  language ="javascript" >  
            
function  jump(){ 
                window.location.replace(
" a.html " ); 
            } 
        
</ script >  
    
</ head >  
    
< body >  
       
< href ="javascript:jump()" > a </ a >  
   
</ body >  
</ html >    


  前4种只是清空了cache,即存储在Temporary Internet Files文件夹中的临时文件,而第五种则是使用跳转页面文件替换当前页面文件,并没有清空cache,也就是说Temporary Internet Files产生了相关的临时文件,两者搭配使用真是清空缓存,必备良药。正好我这里有了记录,所以常来看看哦。

 

转载于:https://www.cnblogs.com/mlaaalm/archive/2009/09/22/1572024.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值