ASP实例源码浏览次数:4 一般地,我们要查看Internet
网上的一个网页,那么
当您第一次访问这个网页的时候,
系统首先要将这个网页下载到您的本地计算机
的一个临时文件夹中进行缓存,
当在一定的时间内,
您第二次、
第三次来访问这
个网页的时候,
浏览器就直接从您的本地计算机的临时文件夹中读取这个文件显
示,
这样做的好处就是避免每次都要重新下载而占用大量的时间和网络资源,
不
得不说页面的缓存加快了网页的显示,
当然也有它的坏处,
例如当服务器上的网
页己经更新,
而本地显示的还是没有更新的网页,
这样就不能及时的显示更新后
的内容,
在某些情况下,
我们需要禁止浏览器缓存,
以使我们每次看到的页面都
是最新的页面
(例如后台操作、
大型网站的时时新闻页面)
,
这时我们就要禁用
浏览器缓存,下面分别说明了在四种不同的页面环境下来禁止网页缓存:
一、对于静态页:
可以利用
<meta>
标记符的另一种用法来实现,其用法为:
<meta http-equiv="Pragma" content="no-cache">
特别说明:
有很多人问到,
这样设置了没有用,
网页仍有缓存,
那是因为您没有
设置页面过期时间的原因,您必须同时指定当前页面的过期时间,例如:
<meta http-equiv="expires" content="Wed, 23 Aug 2006 12:40:27 UTC" />
这儿的
meta
标签用来定义页面过期时间为:
2006
年
8
月
23
日
23:40:27
需要特别注意的是
content
的值必须是一个
UTC
格式的标准时间
(有关
UTC
格式
的时间,请参见本站
javascript
教程)或者
GMT
时间(由于
GMT
时间己过时,
所以建议用
UTC
标准格式)
,
如果您要让网页立即过期,
您可以设置一个过期时
间远小于现在的时间,例如:
Mon,1 Jan 2001 0:0:0 UTC
二、对于
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
标签输出之前,否则
将会出错。