联系我们联系我们
电子邮箱电子邮箱

IIS中启用Gzip压缩传输网页的方法详解

[复制链接]
  • TA的每日心情
    开心
    2018-10-19 14:24
  • 签到天数: 1 天

    [LV.1]初来乍到

    sean 发表于 2018-5-17 14:01:18
    338 0
    http压缩降低了网络传输的数据量,从而提高客户端浏览器的访问速度。当然,同时也会增加一点点服务器的负担。
    Gzip是比较常见的一种HTTP压缩算法。

    一,HTTP压缩工作原理
    1.Web服务器接收到浏览器的HTTP请求后,检查浏览器是否支持HTTP压缩;
    在用户浏览器发送请求的HTTP头中, 带有"Accept-Encoding: gzip, deflate"参数则表明支持gzip和deflate两种压缩算法.
    2.如果浏览器支持HTTP压缩,Web服务器检查请求文件的后缀名;
    静态文件和动态文件后缀启动要所都需要在MetaBase.xml中设置.
    静态文件需要设置: HcFileExtensions Metabase Property (单击跳转到MSDN说明)
    动态文件需要设置: HcScriptFileExtensions Metabase Property (单击跳转到MSDN说明)
    3.如果请求文件是HTML、CSS等静态文件并且文件后缀启用了压缩,则Web服务器到压缩缓冲目录中检查是否已经存在请求文件的最新压缩文件;
    4.如果请求文件的压缩文件不存在,Web服务器向浏览器返回未压缩的请求文件,并在压缩缓冲目录中存放请求文件的压缩文件;
    5.如果请求文件的最新压缩文件已经存在,则直接返回请求文件的压缩文件;
    6.如果请求文件是ASPX等动态文件并且文件后缀启用了压缩,Web服务器动态压缩内容并返回浏览器,压缩内容不存放到压缩缓存目录中。

    二,在IIS中启用HTTP压缩
    IIS默认并不支持HTTP压缩,需要进行简单的配置
    1.打开Internet信息服务(IIS)管理器,右击"网站"->"属性",选择"服务"。在"HTTP压缩"框中选中"压缩应用程序文件"和"压缩静态文件",按需要设置"临时目录"和"临时目录的最大限制";
    2.提醒: 经过试验这步没效果,可忽略
    nternet信息服务(IIS)管理器,右击"Web服务扩展"->"增加一个新的Web服务扩展...",在"新建Web服务扩展"框中输入扩展名"HTTP Compression",添加"要求的文件"为C:WINDOWSsystem32inetsrvgzip.dll,其中Windows系统目录根据您的安装可能有所不同,选中"设置扩展状态为允许";
    3.使用文本编辑器打开C:WindowsSystem32inetsrvMetaBase.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.
    (Linux学习网根据网络整理发布。)


    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    发表新帖

    小黑屋|手机版|Archiver|华盟论坛 ( 京ICP证070028号 )

    Powered by 华盟网 X 8.0  © 2001-2013 Comsenz Inc.  华夏黑客同盟