如何解决为什么我的IIS7站点不是gzip压缩?

我在运行W2K8的单个IIS7机器上有许多网站。

我正在使用提琴手来帮助我弄清楚是否压缩了某些东西。 没有什么是。

所以,我search了一些东西,并尝试了一些东西。 我有以下…

C:\Windows\System32\inetsrv>appcmd set config -section:urlCompression /doDynamic Compression:true Applied configuration changes to section "system.webServer/urlCompression" for " MACHINE/WEBROOT/APPHOST" at configuration commit path "MACHINE/WEBROOT/APPHOST" C:\Windows\System32\inetsrv>appcmd list config -section:urlCompression <system.webServer> <urlCompression doDynamicCompression="true" /> </system.webServer> C:\Windows\System32\inetsrv>appcmd list config -section:serverRuntime <system.webServer> <serverRuntime frequentHitThreshold="1" /> </system.webServer> 

我确信urlCompression,httpCompression和serverRuntime部分是解锁的。

我也已经将以下内容添加到我的web.config中: –

 <system.webServer> <serverRuntime frequentHitThreshold="1" frequentHitTimePeriod="00:10:00" /> <!-- NOTE: This requires the following section to be unlocked: appcmd set config -section:urlCompression /doDynamicCompression:true --> <urlCompression doDynamicCompression="true" dynamicCompressionBeforeCache="true" /> <httpCompression noCompressionForHttp10="False" noCompressionForProxies="False"> <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" dynamicCompressionLevel="4" staticCompressionLevel="9" /> <dynamicTypes> <clear /> <add mimeType="*/*" enabled="true" /> </dynamicTypes> <staticTypes> <clear /> <add mimeType="*/*" enabled="true" /> </staticTypes> </httpCompression> <caching> <profiles> <add extension=".css" policy="CacheUntilChange" kernelCachePolicy="DontCache" duration="07:00:00" location="Any" /> <add extension=".js" policy="CacheUntilChange" kernelCachePolicy="DontCache" duration="07:00:00" location="Any" /> <add extension=".png" policy="CacheUntilChange" kernelCachePolicy="DontCache" duration="07:00:00" location="Any" /> <add extension=".jpg" policy="CacheUntilChange" kernelCachePolicy="DontCache" duration="07:00:00" location="Any" /> <add extension=".jpeg" policy="CacheUntilChange" kernelCachePolicy="DontCache" duration="07:00:00" location="Any" /> <add extension=".gif" policy="CacheUntilChange" kernelCachePolicy="DontCache" duration="07:00:00" location="Any" /> <add extension=".zip" policy="CacheUntilChange" kernelCachePolicy="DontCache" duration="07:00:00" location="Any" /> <add extension=".htm" policy="CacheUntilChange" kernelCachePolicy="DontCache" duration="07:00:00" location="Any" /> </profiles> </caching> <staticContent> <clientCache cacheControlMaxAge="31.00:00:00" cacheControlMode="UseMaxAge" /> </staticContent> .... </system.webServer> 

所以检查这一点,我不知道我做错了什么…? 有什么build议么? 我怎么能debugging这看到什么是不正确的阅读,等等?

我也一直在做'强制刷新',当我抓住网站的内容,等等肯定没有得到服务器压缩:(

请帮忙!

更新1:浏览器请求包含一个Accept-Encoding:gzip,deflate

基础知识:

检查浏览器实际上是发送Accept-Encoding标头,而不是被防火墙剥离。

在响应200和Web服务器压缩上启用失败请求跟踪,并查看IIS7尝试压缩响应时所说的内容。

你在testing中没有使用HTTP 1.0吗? noCompressionForHTTP10 =“False”将阻止这个工作。

我build议重新开始,并使用默认值进行压缩,然后将这些部分加回去,直到它再次出现中断为止。 以下是全新安装的默认设置:

  <httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files"> <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" /> <dynamicTypes> <add mimeType="text/*" enabled="true" /> <add mimeType="message/*" enabled="true" /> <add mimeType="application/x-javascript" 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="*/*" enabled="false" /> </staticTypes> </httpCompression>