一聚教程网:一个值得你收藏的教程网站

热门教程

windows2003下IIS下GZIP压缩开启图解

时间:2022-06-30 18:04:30 编辑:袖梨 来源:一聚教程网

什么要使用gzip压缩?

现代的浏览器IE6和Firefox都支持客户端Gzip,也就是说,在服务器上的网页,传输之前,先使用Gzip压缩再传输给客户端,客户端接收之后由浏览器解压显示,这样虽然稍微占用了一些服务器和客户端的CPU,但是换来的是更高的带宽利用率。对于纯文本来讲,压缩率是相当可观的。如果每个用户节约50%的带宽,那么你租用来的那点带宽就可以服务多一倍的客户了。

IIS下GZIP压缩开启

IIS默认并不支持HTTP压缩,需要进行简单的配置

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


image

2.提醒: 经试验此步骤在本人机器上没有作用, 可以忽略. 

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

image 

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. 

说明: 这两个属性值一般推荐设置为9, 具有最佳性价比.但是在我的window server 2003上, 压缩率无论如何设置, jQuery和jQuery UI两个文件(58k/188k)压缩后的大小一直相同.(20k/45k). 

下面是我的实例:

 代码如下 复制代码
        HcCompressionDll="%windir%\system32\inetsrv\gzip.dll"
        HcCreateFlags="0"
        HcDoDynamicCompression="TRUE"
        HcDoOnDemandCompression="TRUE"
        HcDoStaticCompression="true"
        HcDynamicCompressionLevel="9"
        HcFileExtensions="htm
                     html
                     txt
                     js
                     css
                     swf
                     xml"
        HcOnDemandCompLevel="9"
        HcPriority="1"
        HcScriptFileExtensions="asp
            aspx
            dll
            exe"
    >

        HcCompressionDll="%windir%\system32\inetsrv\gzip.dll"
        HcCreateFlags="1"
        HcDoDynamicCompression="TRUE"
        HcDoOnDemandCompression="TRUE"
        HcDoStaticCompression="true"
        HcDynamicCompressionLevel="9"
        HcFileExtensions="htm
                     html
                     txt
                     js
                     css
                     swf
                     xml"
        HcOnDemandCompLevel="9"
        HcPriority="1"
        HcScriptFileExtensions="asp
            aspx
            dll
            exe"
    >

 

4.编辑完毕后保存MetaBase.xml文件;如果文件无法保存,则可能IIS正在使用该文件。打开"开始"->"管理工具"->"服务",停止"IIS Admin Service"后,即可保存;

 5.最后,重新启动IIS。可以到HTTP压缩测试网站验证结果.以jQuery为例, 核心类库和UI类库原始大小分别是57k和188k,压缩后分别是20k和45k:

下面二个测试网站

测试数据对css
Original Size: 44 KB
Gzipped Size: 10 KB
Data Savings: 77.27%
测试数据js

Original Size: 6 KB
Gzipped Size: 2 KB
Data Savings: 66.67%

测试数据php

Original Size: 62 KB
Gzipped Size: 15 KB
Data Savings: 75.81%
上面只是随机拿的几个数据,看的出来,使用了gzip压缩后文件小多了.

热门栏目