在网上看了关于这个的博客,结合自己的实践,整理了一下,希望对大家有所帮助。
本文采用两种压缩方法:一种是在iis上打开GZIP压缩,另一种是使用CompressionModule对模块进行压缩。下面我将分别给出IIS 6.0和IIS 7.0的两个例子。
IIS6.0
部署IIS 6.0以打开GZIP压缩
1.打开Internet信息服务(IIS)管理器,右键单击网站-属性并选择服务。执行如图1所示的配置:
图1
2.在Internet信息服务(IIS)管理器中,右键单击Web服务扩展-添加新的Web服务扩展,并在“新建Web服务扩展”框中输入扩展“HTTP压缩”。
将“所需文件”添加为c:\ Windows \ System32 \ inetsrv \ gzip.dll,其中Windows系统目录可能会根据您的安装而有所不同,选择“将扩展状态设置为允许”;(参见图2)
图二
3.用文本编辑器打开C:\ Windows \ System32 \ inetsrv \ metabase . XML(建议先备份)。
找到location="/LM/W3SVC/Filters/Compression/gzip用于设置gzip压缩
如果需要压缩动态文件,请将HcDoDynamicCompression设置为“TRUE”。
并在HcScriptFileExtensions中添加想要压缩的动态文件后缀,比如aspx;
If static files need to be compressed, set hcdo statistical compression and hcdoondemmandcompression to "true".
并在HcFileExtensions中添加你需要压缩的静态文件的后缀,比如xml,css等。
HcDynamicCompressionLevel和HcOnDemandCompLevel表示所需的压缩比,取值范围为0到10,默认值为0。
HcDynamicCompressionLevel属性说明:HcDynamicCompressionLevel元数据库属性
HcOnDemandCompLevel属性说明:HcOnDemandCompLevel元数据库属性
注意:这两个属性值一般建议设置为9,性价比最好。
/IIsCompressionScheme
IIsCompressionScheme Location='/LM/W3SVC/Filters/Compression/gzip'
HcCompressionDll='%windir%\system32\inetsrv\gzip.dll'
HcCreateFlags='1'
HcDoDynamicCompression='TRUE'
HcDoOnDemandCompression='TRUE'
HcDoStaticCompression='TRUE'
HcDynamicCompressionLevel='9'
HcFileExtensions='htm
js
css
swf
html
txt'
HcOnDemandCompLevel='9'
HcPriority='1'
HcScriptFileExtensions='asp
aspx
dll
exe'
/IIsCompressionScheme
注意:
1.编辑MetaBase.xml之前需要停止IIS(开始-管理工具-服务查找IIS管理服务,然后停止)。
2.修改后打开IIS管理服务。
Compression module compression module
1、首先,将DC.Web.HttpCompress.dll放到项目的bin目录。
2、配置web.config代码如下:
配置信息
IIS 7.0
部署IIS 7.0 开启GZIP压缩:如图三
图三
图四
CompressionModule压缩模块
1、首先,将DC.Web.HttpCompress.dll放到项目的bin目录。
2、配置web.config代码如下:
webconfig的配置
1 configSections
2 sectionGroup name='DCWeb'
3 section name='HttpCompress' type='DC.Web.HttpCompress.Configuration, DC.Web.HttpCompress' /
4 /sectionGroup
5 /configSections
6
7 DCWeb
8 HttpCompress compressionType='GZip'
9 !--设定是否启用cachefiles功能,并指定cache目录,默认为false--
10 CacheSettings cacheFiles='true' path='cache' /
11 !--设定jspath及csspath,实际应用中可以不设置--
12 PathSettings jsPath='kendo/js' cssPath='css' /
13 !--设定要压缩何种类型的资源,这里设定了压缩html和javascript,即除了aspx页面(包括所有axd资源)和js外,其它资源不会被压缩,例:如果要压缩gif,
请添加add mime='image/gif'/--
14 !--javascript有很多种表现类型,具体可以借助工具查看其类型--
15 IncludedMimeTypes
16 add mime='text/html' /
17 add mime='application/x-javascript' /
18 /IncludedMimeTypes
19 !--设定不压缩何种类型资源请使用:--
20 !--ExcludedMimeTypes
21 add mime='text/html' /
22 add mime='application/x-javascript' /
23 /ExcludedMimeTypes--
24 !--设定不启用压缩的页面路径,下面设定了Test目