【问题标题】:Internet Explorer 6+ https cacheingInternet Explorer 6+ https 缓存
【发布时间】:2012-02-09 02:51:45
【问题描述】:

我正在强制缓存一些文件(通过 Cache-Control 等标头)。如果通过 https (SSL) 发送这些文件,Internet Explorer 6+ 尝试缓存这些文件是否有任何错误?

感谢您的帮助。

【问题讨论】:

  • 您是在寻找是/否答案还是遇到问题?
  • 您是否遇到了某种错误?
  • 我没有遇到任何问题,我只是想提前做好准备,因为我知道 Internet Explorer 也有错误。

标签: php internet-explorer caching https internet-explorer-6


【解决方案1】:

我知道的一个问题是,如果您禁用缓存,IE 将不允许您通过 HTTPS 下载文件。因此,如果您的应用程序允许用户通过 HTTPS 下载生成的文件并且您在其上设置了 no-cache 标头,则 IE 将不允许用户将此类文件保存在磁盘上(因为那将是 缓存)...

【讨论】:

  • 当心:这是真的 当且仅当 no-cache 出现在标题中 - 它无论如何都会下载文件,但会在你有机会之前将其删除打开它!不放no-cache但有max-age=0(总而言之,禁用缓存)不会出现这个问题——至少IE7也有这个问题,我不知道IE8+
  • 谢谢大家的回答。
【解决方案2】:

不,没有。 IE 通常不以遵守标准而闻名,但 它尊重标准。

但是,请注意代理:在您的 Cache-Control 标头中包含 public 之前,其中一些不会缓存内容。

(请注意,IE6 默认不会使用 HTTP/1.1 代理,这意味着,根据其扭曲的逻辑,它不会使用 keepalive 或压缩!)

【讨论】:

  • HTTP Keepalive 是 Web 客户端和服务器交换信息的能力,因此只使用一个连接来交换多个 HTTP 请求,而不是每个请求一个连接。这是 HTTP 的 Connection 标头。如果支持keepalive,客户端会将这个header设置为keep-alive。如果不存在或设置为closed,则不会使用keepalive。它是网站性能的重要组成部分。
  • 我可以设置什么标头来确保 IE6 使用 keepalive?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-27
  • 2013-06-24
相关资源
最近更新 更多