有没有办法清除我的网页的用户浏览器,或说不使用缓存?

问题描述:

在经典ASP中是否有命令可以用来告诉浏览器不要从其缓存中取出页面,或者不缓存或清除我的页面缓存?有没有办法清除我的网页的用户浏览器,或说不使用缓存?

+0

快速反应,谢谢大家! – Brettski 2008-09-22 16:32:47

您可以使用HTML meta标签:

<meta http-equiv="Pragma" content="no-cache" /> 
<meta http-equiv="Expires" content="Fri, 01 Jan 1999 1:00:00 GMT" /> 
<meta http-equiv="Last-Modified" content="0" /> 
<meta http-equiv="Cache-Control" content="no-cache, must-revalidate" /> 

或者你可以使用ASP响应头:

<% 
    Response.CacheControl = "no-cache" 
    Response.AddHeader "Pragma", "no-cache" 
    Response.Expires = -1 
%> 

如果你把

Response.Expires = -1 

在你传统的ASP页面,将指示浏览器不缓存内容。如果用户点击“返回”或以其他方式导航到页面,浏览器将从服务器刷新页面。

这是一篇很好的文章,介绍如何在不同的浏览器上进行操作。

http://www.htmlgoodies.com/beyond/reference/article.php/3472881

不是ASP相关的,这是一个HTTP问题。您可以通过修改http缓存的某些方面,如Cache-Control,etag,Expires等来执行此操作。请参阅RFC2616,特别是Caching in HTTP并设置适当的标头。

的因为不同的浏览器处理缓存都过期的方式,无缓存需要使用命令。这是一个article显示正确的方法来做到这一点。

忽略所有人告诉您使用<meta>元素或Pragma。他们非常不可靠。您需要设置适当的HTTP标头。有关如何确定哪些HTTP标头适合您的一个很好的教程是可用的hereCache-Control: no-cache可能是您所需要的全部内容,但请阅读本教程,因为您可能需要某些不同的东西,因此有很多项目特定的原因。

+0

谢谢你的链接吉姆;有趣的扫描,我会在稍后潜水。 – Brettski 2008-09-22 18:50:38

可以通过确保您为Reponse.cachecontrol,response.expires等根据您的需要设置正确的值来完成。此链接可能有助于理解它们的含义。 http://aspjavascript.com/lesson07.asp