本文介绍的HTTP压缩方式,采用的是Windows系统设置的方式,优点是效率较高。
一. HTTP压缩概述
HTTP压缩是在Web服务器
和浏览器间传输压缩文本内容的方法。HTTP压缩采用通用的压缩算法如gzip等压缩HTML、JavaScript或
CSS文件。压缩的最大好处就是降低了网络传输的数据量,从而提高客户端浏览器的访问速度。当然,同时也会增加一点点服务器的负担。Gzip是比较常见的
一种HTTP压缩算法。
二. HTTP压缩工作原理
Web服务器处理HTTP压缩的工作原理如下:
Web服务器接收到浏览器的HTTP请求后,检查浏览器是否支持HTTP压缩;
如果浏览器支持HTTP压缩,Web服务器检查请求文件的后缀名;
如果请求文件是HTML、CSS等静态文件,Web服务器到压缩缓冲目录中检查是否已经存在请求文件的最新压缩文件;
如果请求文件的压缩文件不存在,Web服务器向浏览器返回未压缩的请求文件,并在压缩缓冲目录中存放请求文件的压缩文件;
如果请求文件的最新压缩文件已经存在,则直接返回请求文件的压缩文件;
如果请求文件是ASPX等动态文件,Web服务器动态压缩内容并返回浏览器,压缩内容不存放到压缩缓存目录中。
Web服务器接收到浏览器的HTTP请求后,检查浏览器是否支持HTTP压缩;
如果浏览器支持HTTP压缩,Web服务器检查请求文件的后缀名;
如果请求文件是HTML、CSS等静态文件,Web服务器到压缩缓冲目录中检查是否已经存在请求文件的最新压缩文件;
如果请求文件的压缩文件不存在,Web服务器向浏览器返回未压缩的请求文件,并在压缩缓冲目录中存放请求文件的压缩文件;
如果请求文件的最新压缩文件已经存在,则直接返回请求文件的压缩文件;
如果请求文件是ASPX等动态文件,Web服务器动态压缩内容并返回浏览器,压缩内容不存放到压缩缓存目录中。
三. IIS 6.0中配置HTTP Gzip压缩的步骤
过Windows2003系统设置的方式启用Gzip的突出优点就是效率较高,所以我们直接设置IIS让其支持Gzip压缩。启用Gzip
压缩步骤如下。
1、单击“开始”—“管理工具”—“Internet 信息服务(IIS)管理器”,打开IIS管理器;
2、在 "IIS 管理器" 中,打开 "网站 >属性" 对话框,切换到 "服务" 页卡,选中“压缩应用程序文件”和“压缩静态文件”,同时根据情况设置临时目录的最大容量,初期可以限制为1G左右。如图1所示:
1、单击“开始”—“管理工具”—“Internet 信息服务(IIS)管理器”,打开IIS管理器;
2、在 "IIS 管理器" 中,打开 "网站 >属性" 对话框,切换到 "服务" 页卡,选中“压缩应用程序文件”和“压缩静态文件”,同时根据情况设置临时目录的最大容量,初期可以限制为1G左右。如图1所示:
3、返回Internet信息服务(IIS)管理器,右击“Web服务扩展”,选择“增加一个新的Web服务扩展(A)”,在“新建Web服务扩展”框中输入扩展名“Gzip”,添加“要求的文件”为C:\WINDOWS\system32\inetsrv\gzip.dll,其中
Windows系统目录根据您的安装可能有所不同,同时选中“设置扩展状态为允许”。如图2所示:
4、使用记事本等文本编辑器打开C:\Windows\System32\inetsrv\MetaBase.xml,找到
"IIsCompressionScheme",按下述方法修改、保存。(建议修改前先做备份)
如果需要压缩动态文件,则将 HcDoDynamicCompression设置为"TRUE",并在HcScriptFileExtensions中增加您要压缩的动态文件后缀名,如aspx、php、jsp等。
如果需要压缩静态文件,则将HcDoStaticCompression和HcDoOnDemandCompression设置为 "TRUE",并在HcFileExtensions中增加您需要压缩的静态文件后缀名,如shtm、shtml、js、css、swf、mid、xml、mp3等静态文件类型。如图3所示:
如果需要压缩动态文件,则将 HcDoDynamicCompression设置为"TRUE",并在HcScriptFileExtensions中增加您要压缩的动态文件后缀名,如aspx、php、jsp等。
如果需要压缩静态文件,则将HcDoStaticCompression和HcDoOnDemandCompression设置为 "TRUE",并在HcFileExtensions中增加您需要压缩的静态文件后缀名,如shtm、shtml、js、css、swf、mid、xml、mp3等静态文件类型。如图3所示: