IIS 开启 GZIP 压缩效率对比及部署方法
HTTP 压缩是在 Web 服务器和浏览器间传输压缩文本内容的方法。HTTP 压缩采用通用的压缩算法如 GZIP 等压缩 HTML、JavaScript 或 CSS 文件。压缩的最大好处就是降低了网络传输的数据量,从而提高客户端浏览器的访问速度。当然,同时也会增加一点点服务器的负担。GZIP 是比常见的一种 HTTP 压缩算法。
压缩
在部署的 IIS 6.0 上配置了 GZIP 压缩,详细的测试结果如下。
未开启 GZIP 压缩前,访问网站首页进行抓包分析。
开启 GZIP 后,清空本地 IE 缓存,再次访问抓包分析。

开启前后,页面大小减小了 89213bytes,压缩掉原始大小的 87%。
当对 CSS、JS 等文件都开启 GZIP 压缩后,原 21100bytes 的文件,压缩后如图所示,压缩比为 80%。
在 https://www.port80software.com/tools/compresscheck.asp 上测试结果如下。

部署
- 打开 Internet 信息服务(IIS)管理器,右击”网站”->”属性”,选择”服务”。在”HTTP 压缩”框中选中”压缩应用程序文件”和”压缩静态文件”,按需要设置”临时目录”和”临时目录的最大限制”;

- 在 Internet 信息服务(IIS)管理器,右击”Web 服务扩展”->”增加一个新的 Web 服务扩展…”,在”新建 Web 服务扩展”框中输入扩展名”HTTP Compression”,添加”要求的文件”为 C:\WINDOWS\system32\inetsrv\gzip.dll,其中 Windows 系统目录根据您的安装可能有所不同,选中”设置扩展状态为允许”;

- 使etaBase.xml(建议先备份),找到Location =”/LM/W3SVC/Filters/Compression/gzip 用于设置 gzip 压缩,找到 Location =”/LM/W3SVC/Filters/Compression/deflate”用于设置 deflate 压缩。上面两个节点紧挨着,并且设置的属性相同。
- 如果需要压缩动态文件,则将 HcDoDynamicCompression 设置为”TRUE”,并在 HcScriptFileExtensions 中增加您要压缩的动态文件后缀名,如 aspx;如果需要压缩静态文件,则将 HcDoStaticCompression 和 HcDoOnDemandCompression 设置为”TRUE”,并在 HcFileExtensions 中增加您需要压缩的静态文件后缀名,如 xml、css 等;
- HcDynamicCompressionLevel 和 HcOnDemandCompLevel 表示需要的压缩率,数值在 0-10, 默认为 0。这两个属性值一般推荐设置为 9, 具有最佳性价比。

注意
- 在编辑 MetaBase.xml 前需要停止 IIS,可以使用 net stop iisadmin
- 修改完成后开启 iisadmin 服务,并执行 iisreset 命令
关于 SEO 的测试
压缩是否对 SEO 有影响,经测试,开启后仍然可以被很好的收录。
关于对 SEO 影响的研究文章,还可以参考下面的几篇文章。
具体的效率问题,将继续监控以作研究。
文章链接:
- 实时进行 GZIP 压缩优化 Asp.Net 页面的 CompressionModule 对 Asp.Net Ajax 及搜索引擎的兼容性测试!.
https://www.cnblogs.com/aspxcn/archive/2009/02/03/1037924.html - Matt Cutts: Gadgets, Google, and SEO
https://www.mattcutts.com/blog/crawl-caching-proxy/
–EOF–
转载须以超链接形式标明文章原始出处和作者信息
