【问题标题】:Accept-Encoding headers being sent by browser but not received by server浏览器发送但服务器未接收到的 Accept-Encoding 标头
【发布时间】:2010-04-15 13:54:47
【问题描述】:

我已经尝试调试它好几个星期了。我家庭网络上所有客户端上的所有浏览器都在发送“Accept-Encoding: gzip,deflate”。但是,该标头以某种方式在请求到达 Web 服务器之前被丢弃。例如,http://www.whatsmyip.org/http_compression/ 说“不,您的浏览器没有请求压缩内容”。

我已经使用 Fiddler 来确保我的所有浏览器确实都在发送标头。我已经换了我的路由器。我已经关闭了所有的杀毒软件。

Brighthouse/Roadrunner(本地有线电视 ISP)说他们没有进行任何过滤(我不明白他们为什么会在这种情况下这样做)。

欢迎提出任何建议!

【问题讨论】:

  • 这很奇怪。如果它发生在我身上,并且其中一台机器是笔记本电脑,我会把它带到我附近的咖啡店,看看那里会发生什么。如果您可以发布 all 在传出 HTTP 请求中看到的标头,这可能会有所帮助。
  • 为了完整起见,我稍后会在咖啡店用我的笔记本电脑试一试。以下是我要发送的标题:Host www.whatsthatbug.com User-Agent Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 (.NET CLR 3.5.30729) Accept text/css,<i>/</i>;q=0.1 Accept-Language en-us,en;q=0.5 Accept-Encoding gzip,deflate Accept-Charset ISO-8859- 1,utf-8;q=0.7,*;q=0.7 Keep-Alive 115 Connection keep-alive 但服务器没有看到“Accept-Encoding”

标签: gzip http-compression http-headers


【解决方案1】:

用 HTTPS 试试吧。

如果您通过 HTTPS 浏览网站,您的浏览器和网络服务器之间的任何内容都无法改变请求或响应的任何 HTTP 级别方面,包括是否启用了压缩,而您无需立即清楚地了解这一事实(在浏览器地址栏中检查网站的证书,看看它是否合法)。

【讨论】:

  • 好的,我将 Apache 服务器上的日志更改为记录 Accept-Encoding 标头。日志中显示的是该字段的“-”。因此,在我的路由器和服务器(任何服务器,而不仅仅是我的)之间的某个地方,Accept-Encoding 标头正在被剥离。现在我真的很困惑!
  • 如果您的 Apache 服务器负责 SSL 并且有证书,如果您尝试使用 SSL,您将能够看到是否有“中间人”更改请求苍蝇。使用 SSL,您的浏览器可以检测并警告您任何“中间人”摆弄请求。
  • 因此,如果它是由我的浏览器生成的,它不会在我的网络上被更改,它不会被中途更改,并且它不会在任何远程服务器上被看到,Accept-Encoding 标头在哪里去吗?
  • 奇数....使用带有 Firebug 的 Firefox(网络面板)并通过 SSL 浏览到任何其他站点,例如 https://twitter.com/?响应的 Encoding: 标头说明了什么?
  • Accept-Encoding gzip,deflate 确实在 Firebug 的 twitter.com 结果中。但 Firebug 只是显示我发送的标头,不一定是远程站点收到的,对吧?因为如果我去 whatismyip.org/http_compression,例如,它告诉我我没有请求压缩。某处 Accept-Encoding 标头仍在消失。
【解决方案2】:

我遇到了 Accept-Xncoding 问题,并确定是 CA Internet Security Suite 导致了该问题。禁用wan't enought,你必须卸载然后清除IE缓存。

【讨论】:

    【解决方案3】:

    检查您的防病毒软件。它可能会拦截您的出站流量并动态修改标头以获得未压缩的内容。懒惰的程序员不喜欢自己包含解压方法,也不喜欢处理分块编码。

    Norton Internet Security 将使用此行覆盖接受编码:

    ---------------: ----- -------

    McAfee 使用以下内容覆盖:

    X-McProxyFilter: *************

    我还没有确定的东西会被这个覆盖:

    Accept-Xncoding:gzip、deflate

    您可能在同一条船上。我读到 Zone Alarm 完全清除了编码标头(这意味着重新计算数据包的大小,但是他们为什么要关心它们在您的系统上引入了多少负载?)。如果您正在运行区域警报,请关闭“互联网隐私选项”或任何其他选项,然后重试。

    每次我看到这个问题,它都是糟糕的杀毒软件的结果。完全禁止某人接收压缩内容而不让他们知道是肮脏的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-30
      • 2012-01-07
      • 2012-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多