您的位置:首页 > 其它

(转载)禁止页面缓存的方法

2011-07-14 11:07 417 查看
 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>
<a 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>
<a href="javascript:jump()">a</a>
</body>
</html>

6、php

# 让它在过去就“失效"
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");

# 永远是改动过的
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");

# HTTP/1.1
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);

# HTTP/1.0
header("Pragma: no-cache");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: