强制浏览器不缓存(no-cache)的方法
在某些情况下,需要禁止浏览器缓存,以便每次看到的页面都是最新的页面(例如后台操作、大型网站的实时新闻页面),这时就要禁用浏览器缓存。
在四种不同的页面环境下来禁止网页缓存:
一、对于静态页(就是通过meta标签来设置):
<!--expires用于设定网页的过期时间,一旦过期就必须从
服务器上重新加载.时间必须使用GMT格式-->
<meta http-equiv="expires" content="Sunday 26 October 2008 01:00 GMT" />
或通过pragma no-cache来设置,pragma出现在http-equiv属性中,使用content属性的no-cache值表示是否缓存网页(为了提高速度一些浏览器会缓存浏览者浏览过的页面,通过下面的定义,浏览器一般不会缓存页面,而且浏览器无法脱机浏览)。
<meta http-equiv="pragma" content="no-cache" />
二、对于asp页面:
复制代码 代码示例:
<%
Response.Buffer=true
Response.CacheControl="no-cache" '禁止代理服务器缓存本页面
Response.Expires=-1000 '让页面立即过期(这儿最好设置一个绝对值较大的负数)
%>
三、对于jsp页面:
复制代码 代码示例:
<%
if(request.getProtocol().compareTo("HTTP/1.0")==0){
response.setHeader("Pragma","no-cache");
}
if(request.getProtocol().compareTo("HTTP/1.1")==0){
response.setHeader("Cache-Control","no-cache");
}
response.setDateHeader("Expires",0);
%>
四、对于php页面:
复制代码 代码示例:
<?php
header('Cache-Control:no-cache,must-revalidate');
header('Pragma:no-cache');
?>
注意:对于动态页面,缓存的代码必须放在任何HTML标签输出之前,否则将会出错。