如何使IE不缓存网页?
如何在服务器端控制使IE不缓存网页? 问题点数:100、回复次数:4Top
1 楼yyszh(追求完美)回复于 2002-05-21 09:40:33 得分 100
在网页上加一些控制语句,我发一个例子给你吧。Top
2 楼qisanyou(承接网站建设业务)回复于 2002-05-21 10:17:13 得分 0
写在<head>里,禁止浏览器从本地机的缓存中调阅页面内容。
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
注意:这样设定,访问者将无法脱机浏览。Top
3 楼cnhalo()回复于 2002-05-21 11:56:53 得分 0
不知这个语法是什么意思,好象和Cache有关
Response.CacheControl = "no-cache"Top
4 楼setcdq9801(蓝鸽@我是你.net)回复于 2002-05-21 12:51:50 得分 0
1. 缓存和“到期”ASP网页
用户的浏览器以及他们和服务器这间的任一代理服务器,都可以缓存HTML和用ASP创建的网页。当用户随后请求页面时,浏览器就发送一个“最新修改”的请求到服务器(使用一个包含缓存版本的日期的HTTP_IF_MODIFIED_SINCE报头),询问网页是否已被修改。
若没有被修改,服务器应用状态码和消息“304 Not Modified”来响应,浏览器将使用缓存的内容而不会通过网络下载一个副本。若已经存在已修改的版本,它就会与“200 OK”状态码和消息一道被发送出去。
1) Response.CacheContol属性
其他的一些因素也会影响这一处理过程。然而,任一被网页使用的网络路由内的代理服务器(一般位于客户机端),能被通过设置Response.CacheControl属性为Private来放弃缓存网页。在ASP 3.0中对ASP网页这是缺省的,不用设置。但在网页为个别访问者特别定制时尤其有用。这可以阻止别的在同一网络上的用户进入同一网页。当CacheControl的属性值被设定为Public时,允许服务器缓存网页。注意,一些代理服务器可能表现得不尽相同,或忽视或越过这个报头。
在IE4中,在代理服务器缓存可用时,有可能得到一个虚假的“This page has expired”消息。我们已提供了一个网页(expiretest_form.asp),可以通过自己的代理服务器在网络上做试验,来检查这一属性的影响。可以通过在“Response Object”主页中单击“Response. CacheControl”链接来显示这个网页。如下图所示:
这一页面提交到expiretest_result.asp网页时,能够设置Response.CacheControl属性,然后在网页中插入值和脚本被执行的时间:
<%
If Request.Form(“public”) = “on” Then ‘Cache-Control check box was ticked
Response.CacheControl = “Public”
Else
Response.CacheControl = “Private”
End If
%>
<HTML>
...
Cache-Control is: <B><% = Response.CacheControl %></B><P>
Value in text box is: <B><% Response.Write Request.Form(“textbox”) %>
<%
Response.Write Right(“0” & Hour(Now),2) & “:” & Right(“0” & Minute(Now),_
& 2) & “:” & Right(“0” & Second(Now),2)
%></B>
通过单击浏览器上的“Back”和“Forward”,能看到代码是自动执行还是使用缓存的副本,如下图所示。结果随浏览器的不同而变化。
Top




