西西软件下载最安全的下载网站、值得信赖的软件下载站!

首页西西教程其它教程 → IIS 6.0 与IIS 7.0的HTTP压缩配置图文教程

IIS 6.0 与IIS 7.0的HTTP压缩配置图文教程

相关软件相关文章发表评论 来源:西西整理时间:2012/11/19 16:51:02字体大小:A-A+

作者:西西点击:1次评论:0次标签: IIS6.0

  • 类型:服务器区大小:15M语言:中文 评分:3.5
  • 标签:
立即下载

在网上看了有关这方面的博客,再加上自己的实践,整理了一下,希望对大家有所帮助

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

IIS 6.0

部署IIS 6.0 开启GZIP压缩

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

                                                                          图一

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压缩

如果需要压缩动态文件,则将HcDoDynamicCompression设置为”TRUE“,

并在HcScriptFileExtensions中增加您要压缩的动态文件后缀名,如aspx;

如果需要压缩静态文件,则将HcDoStaticCompression和HcDoOnDemandCompression设置为”TRUE“,

并在HcFileExtensions中增加您需要压缩的静态文件后缀名,如xml、css等;

HcDynamicCompressionLevel和HcOnDemandCompLevel表示需要的压缩率,数值在0-10, 默认为0。

HcDynamicCompressionLevel属性说明:HcDynamicCompressionLevel Metabase Property

HcOnDemandCompLevel 属性说明:HcOnDemandCompLevel Metabase Property

说明: 这两个属性值一般推荐设置为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 Admin Service然后停止)

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

CompressionModule压缩模块

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目录下的default.aspx页面将不会启用压缩功能,但其它页面则正常启用压缩-->
25             <!--<ExcludedPaths>              
26                 <add path="~/Test/Default.aspx" />
27             </ExcludedPaths>-->
28         </HttpCompress>
29     </DCWeb>
30
31     <system.webServer>
32         <handlers>         
33             <add name="DC.Web.HttpCompress" verb="*" path="js.axd,css.axd" type="CompressionHandler"/>
34         </handlers>     
35         <modules>
36             <!--设定启用压缩模块的参数-->
37             <add name="HttpCompressModule" type="DC.Web.HttpCompress.HttpModule,DC.Web.HttpCompress"/>
38         </modules>
39     </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修复版。

    相关评论

    阅读本文后您有什么感想? 已有人给出评价!

    • 8 喜欢喜欢
    • 3 顶
    • 1 难过难过
    • 5 囧
    • 3 围观围观
    • 2 无聊无聊

    热门评论

    最新评论

    发表评论 查看所有评论(0)

    昵称:
    表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
    字数: 0/500 (您的评论需要经过审核才能显示)