Windows 8显然从压缩的HTTP响应中删除了内容编码头
我不完全确定这是否属于SO,但我不知道还有什么好问的 当我检查我的一个web应用程序的加载速度时,我注意到显然没有HTTP响应(无论是什么类型的html、css、js)是gzip/deflate压缩的。也就是说,在任何请求中都不存在类似“Content Encoding:gzip”的响应头,并且浏览器报告资源未被压缩Windows 8显然从压缩的HTTP响应中删除了内容编码头,http,windows-8,http-headers,http-compression,Http,Windows 8,Http Headers,Http Compression,我不完全确定这是否属于SO,但我不知道还有什么好问的 当我检查我的一个web应用程序的加载速度时,我注意到显然没有HTTP响应(无论是什么类型的html、css、js)是gzip/deflate压缩的。也就是说,在任何请求中都不存在类似“Content Encoding:gzip”的响应头,并且浏览器报告资源未被压缩 在多个浏览器(IE10、FF 17、Chrome 23、Opera 12.10、Safari 5.x)中测试并确认 在运行Windows 8 Pro的两台计算机上测试并确认 使用
- 在多个浏览器(IE10、FF 17、Chrome 23、Opera 12.10、Safari 5.x)中测试并确认
- 在运行Windows 8 Pro的两台计算机上测试并确认
- 使用Fiddler进行双重检查-响应未压缩且不包含内容编码头
- 这不仅发生在我的网络应用上,我测试的其他网站似乎都没有发送压缩响应(根据浏览器)
- 在Windows7上,响应被压缩并带有所有标题
- HTTPS响应被压缩
- 有人能确认Windows8修改了HTTP响应,并且它按照我描述的方式工作吗
- 有没有办法监视甚至禁用这种行为
更新: 我用Wireshark查看客户收到的信息。正如我预期的那样,资源被压缩,内容编码头仍然存在。下图显示了wireshark协议,右下角显示了Chrome接收到的响应
这证实了我的假设,即Windows 8正在干预。事实证明,罪魁祸首是我的防病毒软件Avast,更确切地说是集成实时网络屏蔽。关闭它会导致响应在浏览器中再次显示为压缩
有趣的是,Avast也在Windows 7机器上运行,即使在我的测试中,这些机器上的响应在适用的情况下是压缩的。您是否使用Wireshark在客户端的网络级别进行了检查?也许是你的ISP。你的网络上有代理服务器或奇特的路由器吗?它可能会解压数据以进行检查,并将解压后的响应发送给您。我使用Windows 8和Windows 7计算机在完全相同的网络上进行了测试,即相同的internet提供商和相同的网络基础设施。我将尝试使用wireshark深入了解网络流量,看看能找到什么。我用wireshark协议更新了我的问题:响应是压缩的,带有内容编码头,但在浏览器中仍然显示为未压缩。我真的很好奇Windows在这里做什么。我也有同样的问题。但在我关闭防病毒软件后,浏览器仍然没有显示压缩。同样的事情也发生在我身上,早在我怀疑我的AV软件之前,我就怀疑微软的Windows Defender或微软的一个高度怀疑的“安全更新”。是的,我禁用了AV,问题仍然存在。