嘿,我想找出为什么 gzip 在 IIS 上不起作用,我运行了失败的请求跟踪 - 我在跟踪中看到了一些 JS 文件
DYNAMIC_COMPRESSION_START
DYNAMIC_COMPRESSION_NOT_SUCCESS Reason="ALREADY_CONTENT_ENCODING"
DYNAMIC_COMPRESSION_END
我还在网站上最重要的 JS 文件上看到了这个:
DYNAMIC_COMPRESSION_START
GENERAL_SET_RESPONSE_HEADER HeaderName="Vary", HeaderValue="Accept-Encoding", Replace="false"
DYNAMIC_COMPRESSION_SUCCESS
DYNAMIC_COMPRESSION_DO OriginalSize="114385", CompressedSize="40328"
DYNAMIC_COMPRESSION_END
但这不是 gzip——它是别的东西。我正在尝试让 gzip 工作。
我能找到的关于此的唯一信息是网站上已经启用了一些内容编码,因此不会执行动态压缩。
我找不到禁用此内容编码的位置、它的配置方式或有相同问题的任何其他人。
非常感谢任何帮助。
最佳答案
原来它被压缩了——但我的杀毒软件 (Bitdefender) 在我的浏览器查看之前解压了它
此处的这篇文章建议使用 Wireshark 来确认或否认您正在发生这种情况:IIS Dynamic Compression Failing
然而,我只是远程访问了一台我知道没有启用防病毒功能的机器,并通过那里检查了 Chrome 开发者工具 - 果然 Content-Encoding: gzip
存在于我所有的 JS 和 CSS 中.
同时在启用了防病毒功能的计算机上没有提及Content-Encoding
。
这是因为 AV 在浏览器有机会解压之前就已经解压了。
关于c# - IIS动态压缩 'ALREADY_CONTENT_ENCODING',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46731530/