【问题标题】:IIS 7.5 ASP.NET-4 Gzip compressionIIS 7.5 ASP.NET-4 Gzip 压缩
【发布时间】:2011-04-05 04:54:58
【问题描述】:

我似乎无法为我的 ASP.NET 4 应用程序启用 GZIP 压缩。只有 javascript 文件似乎被压缩了。页面、css 等不会被压缩。

一个未压缩的 CSS 文件的响应头是:

Content-Type      text/css
Last-Modified     Mon, 09 Aug 2010 20:10:34 GMT
Accept-Ranges     bytes
Etag               "5d71bdecfe37cb1:0"
Server    Microsoft-IIS/7.5
Date               Sat, 28 Aug 2010 14:33:56 GMT
Content-Length    3364

对于被压缩的 Javascript 文件 (scriptresource.axd):

Cache-Control      public
Content-Type       application/x-javascript
Content-Encoding gzip
Expires    Sun, 28 Aug 2011 14:33:50 GMT
Last-Modified      Sat, 28 Aug 2010 14:33:50 GMT
Server     Microsoft-IIS/7.5
Date                Sat, 28 Aug 2010 14:33:56 GMT
Content-Length     478

在 applicationHost.config 中:

    <httpCompression sendCacheHeaders="false" directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files" noCompressionForRange="true">
        <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
        <staticTypes>
        </staticTypes>
        <dynamicTypes>
        </dynamicTypes>
    </httpCompression>

在应用程序 web.config 中:

<urlCompression  doStaticCompression="true" doDynamicCompression="true" dynamicCompressionBeforeCache="true" />
<httpCompression noCompressionForRange="false" noCompressionForHttp10="false" noCompressionForProxies="false" >
  <dynamicTypes>
    <add mimeType="text/css" enabled="true" />
  </dynamicTypes>
  <staticTypes>
    <add mimeType="text/css" enabled="true" />
  </staticTypes>
</httpCompression>

谁能告诉我我缺少什么设置?

【问题讨论】:

    标签: compression gzip asp.net-4.0 iis-7.5


    【解决方案1】:

    我发现了问题所在...在打开或关闭 Windows 功能 -> WWW -> 性能功能中,未启用静态和动态压缩(非常愚蠢)。

    Javascript 被压缩的原因可能是因为 ScriptResource.axd 实现了自定义 gzip 编码。

    【讨论】: