网页Gzip压缩的优势是很明显的,第一减小了服务器的带宽,第二提高用户打开网页速度。IIS内置 了Gzip压缩功能,但只对动态页有效。如果你生成了静态文件并服务器是IIS6(windows2003及以上),那么你可以通过下边介绍的内容简单的 启用IIS自带的Gzip压缩功能,体验Gzip压缩带给你的种种好处。
HTTP压缩是在Web服务器和浏览器间传输压缩文 本内容的方法。HTTP压缩采用通用的压缩算法如GZIP等压缩HTML、JavaScript或CSS文件。压缩的最大好处就是降低了网络传输的数据 量,从而提高客户端浏览器的访问速度。当然,同时也会增加一点点服务器的负担。GZIP是比较常见的一种HTTP压缩算法。
压缩测试
在部署的IIS 6.0上配置了GZIP压缩,详细的测试结果如下。
未开启GZIP压缩前,访问网站首页进行抓包分析。

开启GZIP后,清空本地IE缓存,再次访问抓包分析。

开启前后,页面大小减小了89213bytes,压缩掉原始大小的87%。
当对CSS、JS等文件都开启GZIP压缩后,原21100bytes的文件,压缩后如图所示,压缩比为80%。

在http://www.port80software.com/tools/compresscheck.asp上测试结果如下。

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

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

3. 使用文本编辑器打开C:\Windows\System32\inetsrv\MetaBase.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。
HcDynamicCompressionLevel属性说明:HcDynamicCompressionLevel Metabase Property
HcOnDemandCompLevel 属性说明:HcOnDemandCompLevel Metabase Property
说明: 这两个属性值一般推荐设置为9, 具有最佳性价比。

注意
1. 在编辑MetaBase.xml前需要停止IIS,可以使用 net stop iisadmin
2. 修改完成后开启iisadmin服务,并执行iisreset命令
关于SEO的测试
压缩是否对SEO有影响,经测试,开启后仍然可以被很好的收录。
最后要注意一下:部分关键字拦截工具,如一流 会把GZIP拦截,处理办法是 (去一流拦截配置文件里面搜索Gzip,找到那个 Gzip=yes,改成No就搞定了,不拦截gzip的内容。)
不过通常可能不会有太明显的感觉,可以用http://tool.chinaz.com/Gzips/这个页面来检查你的网页是否压缩过了,以及压缩比和加快的速度。整个过程对CPU的占用基本上感觉不出来。



