4

经典 ASP 中是否有一个命令可以用来告诉浏览器不要从它的缓存中拉取页面,或者不缓存,或者清除我的页面的缓存?

4

6 回答 6

9

您可以使用 HTML 元标记:

<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
%>
于 2008-09-22T16:03:09.333 回答
2

与 asp 无关,这是一个 HTTP 问题。您可以通过修改 http 缓存的某些方面来做到这一点,例如 Cache-Control、etag、Expires 等。阅读RFC2616尤其是HTTP 中的缓存并设置适当的标头。

于 2008-09-22T16:02:16.747 回答
2

忽略每个告诉您使用<meta>元素或Pragma. 他们非常不可靠。您需要设置适当的 HTTP 标头。此处提供了有关如何确定适合您的 HTTP 标头的一个很好的教程。 Cache-Control: no-cache可能是您所需要的,但请阅读本教程,因为有许多特定于项目的原因可能会导致您想要不同的东西。

于 2008-09-22T16:31:45.147 回答
0

如果你把

Response.Expires = -1

在您的经典 ASP 页面中,它将指示浏览器不要缓存内容。如果用户单击“返回”或以其他方式导航到页面,浏览器将从服务器刷新页面。

于 2008-09-22T16:00:32.820 回答
-1

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

于 2008-09-23T06:27:42.517 回答
-2

由于不同浏览器处理缓存的方式,需要使用 Expires 和 no-cache 命令。这是一篇文章,显示了执行此操作的正确方法。

于 2008-09-22T16:19:12.680 回答