我对IIS中设置的压缩参数很不熟悉。我的问题是,如果我需要改变我的后端(.NET框架的Web服务)的情况下,我想有GZIP压缩允许?背景信息,我们有一个在IIS上运行的启用了压缩的Web服务。
在请求时,我启用了Content-Encoding。
但是在我的回复中,我没有看到这样的包含内容编码的头:
我错过了什么?或者我需要改变我的后端服务,以及有gzip编码启用?
dsf9zpds1#
如果您的请求标头包含正确的Accept-Encoding,但响应标头没有Content-Encoding标头,我建议您在IIS中启用失败请求跟踪,并检查跟踪日志以查看压缩模块是否成功。此链接提供了启用失败请求跟踪以捕获详细内容的方法:https://www.iis.net/learn/troubleshoot/using-failed-request-tracing/troubleshooting-failed-requests-using-tracing-in-iis。此问题很可能是因为计算机上的防病毒软件正在剥离Content-Encoding响应标头。实际上gzipping是应用的,但防病毒程序保护http连接,解压缩响应以检查它,然后动态重写响应头。您可以尝试暂时关闭计算机上的Windows Defender或防病毒软件,然后测试是否在响应标头中获得内容编码。相似的线程:IIS application missing Content-Encoding - gzip in Response HeaderIIS Compression missing content-encoding in response even though logs show it workingThe Story About Compression & Antivirus
1条答案
按热度按时间dsf9zpds1#
如果您的请求标头包含正确的Accept-Encoding,但响应标头没有Content-Encoding标头,我建议您在IIS中启用失败请求跟踪,并检查跟踪日志以查看压缩模块是否成功。
此链接提供了启用失败请求跟踪以捕获详细内容的方法:https://www.iis.net/learn/troubleshoot/using-failed-request-tracing/troubleshooting-failed-requests-using-tracing-in-iis。
此问题很可能是因为计算机上的防病毒软件正在剥离Content-Encoding响应标头。实际上gzipping是应用的,但防病毒程序保护http连接,解压缩响应以检查它,然后动态重写响应头。
您可以尝试暂时关闭计算机上的Windows Defender或防病毒软件,然后测试是否在响应标头中获得内容编码。
相似的线程:
IIS application missing Content-Encoding - gzip in Response Header
IIS Compression missing content-encoding in response even though logs show it working
The Story About Compression & Antivirus