防止在 Internet Explorer 中进行缓存

http://support.microsoft.com/kb/q234067/

可以在特定 Active Server Pages (ASP) 页的最开始位置,使用以下脚本代码方便地标记高度易变页或敏感页

<% Response.CacheControl = "no-cache" %>
<% Response.AddHeader "Pragma", "no-cache" %>
<% Response.Expires = -1 %>
强烈建议所有 Web 服务器都使用针对所有 Web 页的过期方案。如果 Web 服务器不通过 HTTP Expires 响应标题为返回给请求客户端的每种资源提供过期信息,则这种做法是不可取的。目前,多数浏览器和中间代理都很重视此过期信息,并使用它来提高网络的通讯效率。

当服务器上的特定文件需要由客户端更新时,应始终使用 Expires 标题来指定最合理的时间。如果定期更新页,则下一个更新周期将是最有效的响应。例如,假设 Internet 上的某个每日新闻页在每天早晨 5 点更新。此新闻页的 Web 服务器应返回一个带有第二天早晨 5 点这一值的 Expires 标题。这样,在该页实际更改之前,浏览器就不必再联系 Web 服务器。

预期不进行更改的页应使用约为一年的过期日期进行标记。

在许多情况下,Web 服务器在包含信息的服务器上有一个或多个随时可能更改的易变页。因此,该服务器应将这些页的 Expires 标题的值标记为“-1”。当用户在将来进行请求时,Internet Explorer 通常会通过 If-Modified-Since(如果-修改-自)条件请求联系该 Web 服务器,以获取对该页的更新。不过,该页仍会保留在磁盘缓存(“Internet 临时文件”)中,并在适当的情况下(如在使用“后退”和“前进”按钮访问导航历史时,或在浏览器处于脱机模式时)使用,而无须联系远程 Web 服务器。

不过,有些页非常易变或者非常敏感,以至于它们不需要磁盘缓存。为解决这一问题,Internet Explorer 提供了对 HTTP 1.1 Cache-Control 标题的支持,当 HTTP 1.1 服务器指定 no-cache 值时,这可以完全防止缓存特定的 Web 资源。

由于在浏览器重新联系 Web 服务器之前无法访问不在缓存中的页,因此服务器应慎用 Cache-Control 标题。在多数情况下,使用“Expires:-1”较为可取。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值