有没有人
<httpCompression minFileSizeForComp="XXX">
设置为IIS 7.x的荣誉?这里的文档http://www.iis.net/ConfigReference/system.webServer/httpCompression#005,陈述
可选的uint属性。 指定文件必须包含的最小千字节数,以便使用按需压缩。 IIS 7.5的默认值是2700;对于IIS 7.0,默认值为256。
我认为文档意味着字节而不是千字节。您能想象只有HTTP压缩2.7 MB或更大的响应吗?
我尝试在ApplicationHost.config和web.config中设置此值而没有任何影响。
答案 0 :(得分:2)
IIS绝对尊重minFileSizeForComp设置。但是,如果启用了动态和静态压缩,则可以通过动态压缩来压缩小文件。我写了一篇关于它的博客文章,并使用失败的请求跟踪规则分享了故障排除步骤,并为此行为提供了解决方案/解决方法。请在以下链接中找到它:
使用失败的请求跟踪启用一个谜:IIS不遵守静态压缩的minFileSizeForComp设置 https://blogs.msdn.microsoft.com/amb/2016/05/23/iis-respects-minfilesizeforcomp-for-static-compression/
希望能有所帮助。
- AMB
答案 1 :(得分:1)
我知道我已经很晚了,但我围绕这个问题进行了一些实验,并确定该值是以千字节来衡量的。这看起来很疯狂,但这是真的。
我发了一篇博文,内容更详细here。
编辑:嗯,问题似乎并不那么简单。无论选择什么,IIS似乎都拒绝压缩低于特定大小的文件。答案 2 :(得分:0)
根据上述@ahmetmithat的回答,如果静态文件的媒体类型(minFileSizeForComp
为,则由于它们小于mimeType
阈值而未压缩的静态文件将通过动态压缩(如果启用)进行拾取。已在staticTypes
和dynamicTypes
中添加。一种解决方案是清除从计算机配置(dynamicTypes
)继承的applicationHost.config
并仅添加您希望动态压缩的那些类型。例如,如果您要返回的唯一动态类型是来自REST API的JSON,则可以按以下方式配置web.config
:
<httpCompression>
<dynamicTypes>
<clear />
<add mimeType="application/json" enabled="true" />
<add mimeType="*/*" enabled="false" />
</dynamicTypes>
</httpCompression>