time 
设为首页】【收藏本站
当前位置: 主页 > WEB教程 > 建站技巧 > IIS 6.0和IIS 7.0开启http压缩的方法

IIS 6.0和IIS 7.0开启http压缩的方法

时间:2012-11-17 11:11 点击:1661次 字体:[ ]




本文采用两种压缩方法:一种是在IIS上开启GZIP压缩,另一种方法是用CompressionModule压缩模块。下面我将分别对IIS 6.0 和 IIS 7.0 的两种方法进行举例。

IIS 6.0

部署IIS 6.0 开启GZIP压缩

1、打开Internet信息服务(IIS)管理器,右击“网站”-->属性”,选择“服务”。进行如图一配置:

IIS 6.0和IIS 7.0开启http压缩的方法_www.fengfly.com

 

图一

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

IIS 6.0和IIS 7.0开启http压缩的方法_www.fengfly.com

图二

3、使用文本编辑器打开C:\Windows\System32\inetsrv\MetaBase.xml(建议先备份),

找到Location =“/LM/W3SVC/Filters/Compression/gzip用于设置gzip压缩

如果需要压缩动态文件,则将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. </IIsCompressionScheme> 
  2. <IIsCompressionScheme    Location ="/LM/W3SVC/Filters/Compression/gzip" 
  3.         HcCompressionDll="%windir%\system32\inetsrv\gzip.dll" 
  4.         HcCreateFlags="1" 
  5.         HcDoDynamicCompression="TRUE" 
  6.         HcDoOnDemandCompression="TRUE" 
  7.         HcDoStaticCompression="TRUE" 
  8.         HcDynamicCompressionLevel="9" 
  9.         HcFileExtensions="htm  
  10.             js  
  11.             css  
  12.             swf  
  13.             html  
  14.             txt"  
  15.         HcOnDemandCompLevel="9" 
  16.         HcPriority="1" 
  17.         HcScriptFileExtensions="asp  
  18.             aspx  
  19.             dll  
  20.             exe"  
  21.     > 
  22. </IIsCompressionScheme> 

注意:

1、在编辑MetaBase.xml前需要停止IIS(开始-->管理工具 --> 服务 找到 IIS Admin Service然后停止)

2、修改完成后开启IIS Admin Service

CompressionModule压缩模块

1、首先,将DC.Web.HttpCompress.dll放到项目的bin目录。

2、配置web.config代码如下:

 

  1. 配置信息  
  2.  
  3. <configSections>         
  4.         <sectionGroup name="DCWeb"> 
  5.             <section name="HttpCompress" type="DC.Web.HttpCompress.Configuration, DC.Web.HttpCompress" /> 
  6.         </sectionGroup> 
  7.     </configSections> 
  8.  
  9.     <DCWeb> 
  10.         <HttpCompress compressionType="GZip"> 
  11.             <IncludedMimeTypes> 
  12.                 <add mime="text/html" />                
  13.             </IncludedMimeTypes>          
  14.         </HttpCompress> 
  15.     </DCWeb> 
  16.     <system.web> 
  17.         <httpHandlers>              
  18.             <add verb="*" path="js.axd,css.axd" type="DC.Web.HttpCompress.CompressionHandler,DC.Web.HttpCompress"/> 
  19.             <add verb="*" path="*.gif" type="DC.Web.HttpCompress.ImageHandler,DC.Web.HttpCompress"/> 
  20.         </httpHandlers> 
  21.         <httpModules> 
  22.           <add name="HttpCompressModule" type="DC.Web.HttpCompress.HttpModule,DC.Web.HttpCompress"/> 
  23.       </httpModules> 
  24.     </system.web> 

IIS 7.0

部署IIS 7.0 开启GZIP压缩:如图三

IIS 6.0和IIS 7.0开启http压缩的方法_www.fengfly.com

图三

IIS 6.0和IIS 7.0开启http压缩的方法_www.fengfly.com

图四

 

CompressionModule压缩模块

1、首先,将DC.Web.HttpCompress.dll放到项目的bin目录。

2、配置web.config代码如下:

 

  1. webconfig的配置  
  2.   <configSections>         
  3.          <sectionGroup name="DCWeb"> 
  4.              <section name="HttpCompress" type="DC.Web.HttpCompress.Configuration, DC.Web.HttpCompress" /> 
  5.          </sectionGroup> 
  6.      </configSections> 
  7.    
  8.      <DCWeb> 
  9.          <HttpCompress compressionType="GZip"> 
  10.              <!--设定是否启用cachefiles功能,并指定cache目录,默认为false--> 
  11.              <CacheSettings cacheFiles="true" path="cache" /> 
  12.              <!--设定jspath及csspath,实际应用中可以不设置--> 
  13.              <PathSettings jsPath="kendo/js" cssPath="css" /> 
  14.              <!--设定要压缩何种类型的资源,这里设定了压缩html和javascript,即除了aspx页面(包括所有axd资源)和js外,其它资源不会被压缩,例:如果要压缩gif,请添加<add mime="image/gif"/>--> 
  15.              <!--javascript有很多种表现类型,具体可以借助工具查看其类型--> 
  16.              <IncludedMimeTypes> 
  17.                  <add mime="text/html" /> 
  18.                  <add mime="application/x-javascript" /> 
  19.              </IncludedMimeTypes> 
  20.              <!--设定不压缩何种类型资源请使用:--> 
  21.              <!--<ExcludedMimeTypes> 
  22.                  <add mime="text/html" /> 
  23.                  <add mime="application/x-javascript" /> 
  24.              </ExcludedMimeTypes>--> 
  25.              <!--设定不启用压缩的页面路径,下面设定了Test目录下的default.aspx页面将不会启用压缩功能,但其它页面则正常启用压缩--> 
  26.              <!--<ExcludedPaths>                 
  27.                  <add path="~/Test/Default.aspx" /> 
  28.              </ExcludedPaths>--> 
  29.          </HttpCompress> 
  30.      </DCWeb> 
  31.    
  32.      <system.webServer> 
  33.          <handlers>            
  34.              <add name="DC.Web.HttpCompress" verb="*" path="js.axd,css.axd" type="CompressionHandler"/> 
  35.          </handlers>        
  36.          <modules> 
  37.              <!--设定启用压缩模块的参数--> 
  38.              <add name="HttpCompressModule" type="DC.Web.HttpCompress.HttpModule,DC.Web.HttpCompress"/> 
  39.          </modules> 
  40.      </system.webServer> 

注意:

1、ExcludedMimeTypes及IncludedMimeTypes只需要配置一个就可以,如果像上面那样配置的话,则表明html和javascript类型被压缩。

2、<CacheSettings cacheFiles="true" path="cache"/>

那么项目下就必须存在cache这个目录,否则的话会出错,如果项目不想增加这个目录,只需要将这个配置节删掉即可!

 

测试结果:

在IIS 7.0 中使用CompressionMoudule压缩,压缩率为53.3%

在IIS 6.0 中开启GZIP压缩的压缩率为: 67.3%(可根据在MetaBase.xml文件中的参数进行改变)

总结:

在IIS 7.0中使用CompressionModule压缩模块时引用的DC.Web.HttpCompress.dll可以压缩js、css文件。但在IIS 6.0中使用DC.Web.HttpCompress.dll文件时,对js、css文件就不起作用了。因此有个CompressionModule修复版。

相关下载及说明:

CompressionModule修复版:http://www.cnblogs.com/lovejjhao/archive/2011/12/16/2290749.html(可以下载修复版的dll文件)

CompressionModule压缩模块:http://www.cnblogs.com/0000/archive/2009/05/22/1487376.html



本文地址 : http://www.fengfly.com/plus/view-210301-1.html
标签: IIS 7.0 IIS 6.0 http压缩
------分隔线----------------------------
相关文章
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码: