【问题标题】:Enable gzip compression using MVC3使用 MVC3 启用 gzip 压缩
【发布时间】:2012-09-21 06:00:28
【问题描述】:

我正在使用 chrome 扩展程序 YSlow 来测试我的网站性能。

我在使用 gzip 压缩组件方面的成绩为 F。

有 15 个纯文本组件应压缩发送:

http://localhost:21964/Content/custom/css/blog.css
http://localhost:21964/Content/custom/css/style.css
http://localhost:21964/Content/custom/css/socialize-bookmarks.css
http://localhost:21964/Content/custom/css/prettyPhoto.css
http://localhost:21964/Content/custom/css/flexslider.css
http://localhost:21964/Content/custom/css/colors/color-orange.css
http://localhost:21964/Content/sc2.css
http://localhost:21964/Content/custom/javascript/custom.js
http://localhost:21964/Content/custom/javascript/header.js
http://localhost:21964/Content/custom/javascript/twitter.js
http://localhost:21964/Content/custom/javascript/bra.photostream.js
http://localhost:21964/Content/custom/javascript/jquery.flexslider.js
http://localhost:21964/Content/custom/javascript/jquery.bpopup-0.7.0.min.js
http://localhost:21964/Content/custom/javascript/prettyPhoto.js
http://localhost:21964/css/colors/color-orange.css

压缩通过减小 HTTP 响应的大小来缩短响应时间。 Gzip 是目前可用的最流行和最有效的压缩方法,通常可以将响应大小减少约 70%。当今大约 90% 的 Internet 流量通过声称支持 gzip 的浏览器传输。

有一个类似的帖子here,但即使我按照这些步骤操作,它也不会压缩流量。

我已经完成的步骤:

  1. 我勾选了 IIS 中的所有压缩设置 -> 压缩。
  2. 激活 Windows 功能“动态内容压缩”。
  3. 我已将此行添加到web.config

<system.webServer>
...
 <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/javascript" enabled="true"/>
     <add mimeType="*/*" enabled="true"/>
   </dynamicTypes>
   <staticTypes>
     <add mimeType="text/*" enabled="true"/>
     <add mimeType="message/*" enabled="true"/>
     <add mimeType="application/javascript" enabled="true"/>
     <add mimeType="*/*" enabled="true"/>
   </staticTypes>
 </httpCompression>
 <urlCompression doStaticCompression="true" doDynamicCompression="true" /> 
...
</system.webServer>

我目前在项目Properties -> Web -> Servers中使用Developer Server

【问题讨论】:

    标签: asp.net asp.net-mvc iis gzip http-compression


    【解决方案1】:

    Visual Studio 开发服务器 (Cassini) 不支持使用 IIS 或 IIS Express 的 gzip 压缩。

    【讨论】:

    • 我改为IIS Express并通过appcmd设置动态和静态压缩,并验证其配置文件已更新并且确实更新了,但仍然没有压缩:/顺便说一句我使用这里写的是什么*.com/questions/6572702/…