minFileSizeForComp httpCompression属性是否有效?

时间:2011-11-23 23:05:47

标签: asp.net iis-7

有没有人

<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中设置此值而没有任何影响。

3 个答案:

答案 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阈值而未压缩的静态文件将通过动态压缩(如果启用)进行拾取。已在staticTypesdynamicTypes中添加。一种解决方案是清除从计算机配置(dynamicTypes)继承的applicationHost.config并仅添加您希望动态压缩的那些类型。例如,如果您要返回的唯一动态类型是来自REST API的JSON,则可以按以下方式配置web.config

<httpCompression>
  <dynamicTypes>
    <clear />
    <add mimeType="application/json" enabled="true" />
    <add mimeType="*/*" enabled="false" />
  </dynamicTypes>
</httpCompression>