禁用页面缓存的几种方法(静态和动态)

来源:互联网 发布:mac 解压zip文件命令 编辑:程序博客网 时间:2024/06/05 16:20
1、在Asp页面首部<head>加入   

  
Response.ExpiresAbsolute   =   Now()   -   1    
  Response.Expires   =   0    
  Response.CacheControl   =   "no-cache"    
  Response.AddHeader   "Pragma",   "No-Cache"  

  2、在HtML代码中加入   

  
<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("Pragma","no-cache"); //HTTP 1.0 
response.setDateHeader ("Expires", 0); //prevents caching at the proxy server

 

  这些代码加在<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

 

    <head> 
        
<title>a</title>      
        
<script language="javascript"> 
            
function jump()
                window.location.replace(
"b.html"); 
            }
 
        
</script> 
    
</head> 
    
<body> 
       
<href="">b</a> 
   
</body> 
</html>  
 

 

   b.html

 

 


    
<head> 
        
<title>b</title>      
        
<script language="javascript"> 
            
function jump()
                window.location.replace(
"a.html"); 
            }
 
        
</script> 
    
</head> 
    
<body> 
       
<href="">a</a> 
   
</body> 
</html>  

 

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