IIS 8.5静态压缩缺少内容编码响应头,但失败的请求跟踪显示使用gzip进行压缩

IIS 8.5静态压缩缺少内容编码响应头,但失败的请求跟踪显示使用gzip进行压缩,iis,compression,gzip,iis-8.5,content-encoding,Iis,Compression,Gzip,Iis 8.5,Content Encoding,我发现Content-Encoded响应头缺失,尤其是Content-Encoded:gzip。我正在使用静态内容压缩。从未安装动态内容压缩功能。我安装了它,启用了它,然后再次测试。这一次,响应中出现了编码为:gzip的内容。问题是,为什么响应头出现在动态内容压缩中,而不出现在静态内容压缩中?我相当肯定IIS正在将gzip应用于静态内容压缩。原因如下: 我有一个IIS URL重写出站规则,它修改HTML页面上的响应。出站规则产生错误500.52,URL重写模块错误——当HTTP响应的内容被编码(

我发现
Content-Encoded
响应头缺失,尤其是Content-Encoded:gzip。我正在使用
静态内容压缩
。从未安装
动态内容压缩
功能。我安装了它,启用了它,然后再次测试。这一次,响应中出现了编码为:gzip的内容。问题是,为什么响应头出现在动态内容压缩中,而不出现在静态内容压缩中?我相当肯定IIS正在将gzip应用于静态内容压缩。原因如下:

  • 我有一个IIS URL重写出站规则,它修改HTML页面上的响应。出站规则产生错误500.52,URL重写模块错误——当HTTP响应的内容被编码(“gzip”)时,无法应用出站重写规则。这条规则不是问题所在,只是gzip据报道被应用的证据。我取消了规则。这是线索1

  • 线索#2是我启用了
    失败的请求跟踪
    ,并观察到不仅应用了静态压缩,而且StaticFileModule将压缩文件存储在以下位置:C:\INETPUB\TEMP\IIS临时压缩文件\MY WEBSITE\$^\INETPUB\WWWROOT\TEST.HTML

  • 我在上读了微软的文档,我可能错了,我没有看到任何语言表明gzip可以用于静态压缩。基于以上两条线索,gzip被用于静态压缩


    因此,我回到原来的问题,即
    静态内容印象
    缺少
    内容编码的
    响应头,但有证据表明,IIS不仅压缩静态内容,而且使用
    gzip
    对其进行压缩。这仅仅是一个bug吗?这是故意的吗

    静态压缩将在工作时添加内容编码头

    如果启用失败请求跟踪和跟踪静态压缩模块。你会看到这个

    这意味着如果静态文件不经常被点击,静态压缩将无法工作

    如果您多次转发此请求。然后您将看到该标题

    请注意,压缩的最小文件大小是有限制的。您可以在IIS管理器->服务器节点->配置管理器->system.webServer/httpCompression->minfileforcomp中修改该值


    太好了!谢谢你提供的信息。我会尝试一下并报告我的发现。