在IIS上启用HTTP压缩

作者:网络医生 发布于:2011-10-28 12:53 Friday 分类:Web服务器配置

一、HTTP压缩概述

      HTTP压缩是在Web服务器和浏览器间传输压缩文本内容的方法。HTTP压缩采用通用的压缩算法如gzip等压缩HTML、JavaScript或CSS文件。压缩的最大好处就是降低了网络传输的数据量,从而提高客户端浏览器的访问速度。当然,同时也会增加一点点服务器的负担。Gzip是比较常见的一种HTTP压缩算法。

二、HTTP压缩工作原理

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

三、在IIS上设置如何启用HTTP压缩

1、IIS默认并不支持HTTP压缩,需要进行手动设置。

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

点击查看原图

存放缓存文件的临时目录文件夹权限需要修改,此处修改d:\IIS_Compressed_Files文件夹的权限,如下图:

点击查看原图

2、添加http压缩的WEB服务扩展

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

点击查看原图

 

点击查看原图

3、使用文本编辑器打开C:\Windows\System32\inetsrv\MetaBase.xml

注:编辑此文件时一定要先停止"IIS Admin Service"服务. 否则无法保存。

       静态压缩和动态压缩率最好设置为9,推荐这么设置,不要问为什么,经验之谈。

如下图修改:

点击查看原图

点击查看原图

如果图片需要压缩的话也可以把图片的扩展名加入进去,如 jgp gif png 等。

标签: gzip http IIS 压缩 http压缩

发表评论:

  • 2
  • 6
  • 4
  • 3
  • 8

Powered by emlog