【问题标题】:HTTP Headers causing IE problems?导致 IE 问题的 HTTP 标头?
【发布时间】:2012-10-26 03:14:28
【问题描述】:

我有一个奇怪的问题,我无法追踪。 Internet Explorer 的用户报告说,IE 在完成加载带有以下标题的页面后会抛出“页面无法显示”消息。他们短暂地看到该页面,但随后它消失并被错误页面取代。页面的内容是什么似乎并不重要。 我似乎已经追踪到这些标题:

Expires: Fri, 13 Jan 2012 01:00:00 GMT
Date: Fri, 26 Oct 2012 02:02:33 GMT
Pragma: no-cache
Last-modified: Fri, 26 Oct 2012 02:02:33 GMT
Cache-control: private, no-cache, no-store, must-revalidate, max-age=0, pre-check=0, post-check=0
Content-Type: text/html; charset=ISO-8859-1

在我看到的大多数情况下,用户的时钟似乎从服务器显着向前运行(最多半小时)。他们似乎都在运行 IE8 的笔记本电脑上。有任何想法吗?服务器也在 8181 端口而不是 80 端口上运行。

【问题讨论】:

  • 您拥有的缓存控制标头非常非常 - 尤其是“must-revalidate”和“max-age=0”。可以松开这些进行测试吗?在对带有这些标题的页面的 100 次访问中,有多少人报告了这个问题?
  • 特别是,删除 HTTP 规范中未定义的所有内容。

标签: internet-explorer http


【解决方案1】:

您是如何追踪到这些标题(而不是 html 文件的内容)的?我通常宁愿猜测它是文件的内容。您是否尝试过手写的简单 <html><body>hi</body></html> 样式的 html 页面(有或没有您提到的那些可选标题)?

如果您可以访问可以重现问题的客户端,我会在客户端上使用 Fiddler 记录一次请求,然后将其(/them)拖过来到右侧 AutoResponder 选项卡 中的列表(您需要先 Enable automatic responses 才能将请求放入列表中),然后让 Fiddler 返回响应,而不是服务器,每次删除单个标头或更改 html,以缩小范围。

【讨论】:

    【解决方案2】:

    我不确定,您是否尝试过在没有标题的情况下运行您的网站?如果它有效,那么您可能需要将 pragma 标头更改为 header ('Pragma: public');

    【讨论】:

      【解决方案3】:

      当 Internet Explorer 连接到 Web 服务器并且从 DNS 服务器返回的 IP 地址列表包含多个 IP 地址时,Internet Explorer 会尝试使用这些 IP 地址按照接收顺序进行 TCP 连接。成功建立 TCP 连接后,Internet Explorer 将使用该 IP 地址向其发送 HTTP 请求。

      检查下面的链接。

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

      【讨论】:

        【解决方案4】:

        我发现这是 mcafee 防病毒软件的问题。

        【讨论】:

          猜你喜欢
          • 2014-06-18
          • 2015-12-12
          • 2015-12-24
          • 2011-09-01
          • 2011-07-11
          • 1970-01-01
          • 2020-12-29
          • 1970-01-01
          • 2012-11-26
          相关资源
          最近更新 更多