为什么我的javascript文件有时压缩,有时不压缩?(IIS Gzip问题)

为什么我的javascript文件有时压缩,有时不压缩?(IIS Gzip问题),javascript,iis,caching,compression,gzip,Javascript,Iis,Caching,Compression,Gzip,我在iis设置中为javascript文件启用gzip,下面是相应的配置部分 <httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files"> <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" staticCompressionLevel="10" dynamicCompressio

我在iis设置中为javascript文件启用gzip,下面是相应的配置部分

<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
        <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" staticCompressionLevel="10" dynamicCompressionLevel="8" />
        <dynamicTypes>
            <add mimeType="text/*" enabled="true" />
            <add mimeType="message/*" enabled="true" />
  <add mimeType="application/soap+msbin1" enabled="true" />
            <add mimeType="*/*" enabled="false" />
        </dynamicTypes>
        <staticTypes>
            <add mimeType="text/*" enabled="true" />
            <add mimeType="message/*" enabled="true" />
            <add mimeType="application/javascript" enabled="true" />
  <add mimeType="application/x-javascript" enabled="true" />
            <add mimeType="*/*" enabled="false" />
        </staticTypes>
    </httpCompression>

目前,当我下载我的js文件时,似乎有时服务器返回gzip文件,有时不返回。我不知道为什么,以及如何调试


如果一个文件已经被gzip压缩,它应该被缓存在本地磁盘上,下次有人再次访问该文件时,iis内核应该直接返回缓存gzip文件,而不需要再次压缩它。是吗?

清除浏览器缓存,然后重试。

jaf,我自己发现了,iis中可能有一些错误。您可以设置frequenthitthreshold选项以强制脚本文件始终gzip文件。 我写了一篇关于这个bug的帖子,但是是中文的,这是谷歌的翻译版本

修复程序似乎确实在applicationHost.config文件的system.webServer/serverRuntime节点上将frequencuintHitThreshold属性设置为1。记录于

您可以通过以管理员身份执行以下命令来完成此操作:

%windir%\system32\inetsrv\appcmd set config /section:serverRuntime /frequentHitThreshold:1 /commit:apphost

警告一句,“频繁点击”的概念似乎并不特定于压缩。我不知道设置此选项是否会导致其他后果

客户端缓存没有任何内容。这都是关于服务器的。在这两种情况下(当文件被压缩而不是压缩时),您可以发布请求和响应主体吗?你可以在IE中使用Fiddler,在Firefox中使用FireBug。嗨,artem,我是一名web开发人员,我知道如何检查响应是否被压缩。而且我确信它没有被压缩。幸运的是,我发现这是一个iis错误。我写了一篇关于这个错误的帖子。