IIS的Gzip压缩
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
IIS下实现网页的GZip压缩
在做网站管理优化等工作时我们常常会到站长工具去查询我们网站的一些
信息,这是我们会发现其中一个是GZip检测或者网页压缩检测之类的的字眼,它告诉我们的服务器是否启用了GZip压缩。
网站的访问速度是由多个因素所共同决定的,这些因素例如应用程序的响应速度、网络带宽、服务器性能、与客户端之间的网络传输速度,服务器是否启用GZip压缩等等。其中最重要的一个因素是应用程序本身的响应速度,因此当你为网站性能所苦恼时,你第一个需要着手进行处理的便是尽可能的提升应用程序的执行速度,你可以使用缓存或者是优化代码的执行效率来提升应用程序的速度。本文并不是介绍如何来提升应用程序的执行效率,前面提到的只不过是为了防止您病急乱投医。在确保您的应用程序的性能已经达到足够好,同时服务器的性能也完全满足的情况下,不妨来试试网页压缩来进一步提升网页的浏览速度,而且非常重要的是,它完全不需要任何的成本,只不过是会让您的服务器CPU
占用率稍微提升一两个百分点而已或者更少。
网页压缩是一项由 WEB 服务器和浏览器之间共同遵守的协议,也就是说 WEB 服务器和浏览器都必须支持该技术,所幸的是现在流行的浏览器都是支持的,包括 IE、FireFox、Opera 等;服务器有 Apache 和 IIS 等。双方的协商过程如下:
1.首先浏览器请求某个 URL 地址,并在请求的头 (head) 中设置属性
accept-encoding 值为 gzip, deflate,表明浏览器支持 gzip 和
deflate 这两种压缩方式(事实上 deflate 也是使用 gzip 压缩协议,
下面我们会介绍二者之间的区别);
2.WEB 服务器接收到请求后判断浏览器是否支持压缩,如果支持就传送压缩
后的响应内容,否则传送不经过压缩的内容;
3.浏览器获取响应内容后,判断内容是否被压缩,如果是则解压缩,然后显
示响应页面的内容。
在实际的应用中我们发现压缩的比率往往在 3 到 10 倍,也就是本来 50k 大小的页面,采用压缩后实际传输的内容大小只有 5 至 15k 大小,这可以大大节省服务器的网络带宽,同时如果应用程序的响应足够快时,网站的速度瓶颈就转到了网络的传输速度上,因此内容压缩后就可以大大的提升页面的浏览速度。
下面我们来看看IIS下如何实现GZip压缩:
微软的IIS 服务器同样也是目前用得最多的WEB 服务器之一,而且用来运行ASP 页面也是必不可少的。IIS6 本身支持gzip 压缩,IIS5 就比较费劲了,你可以找一些第三方的组件来处理,例如httpzip,网址是:
/products/httpzip/?vid=3354166,不过这是收费的,如果没钱买用来学习下倒是不错。接下来我们介绍如何在IIS6 中启用GZip压缩功能。
打开Internet 信息服务(IIS)管理器,右击"网站"->"属性",选择"服务"。在"HTTP压缩" 框中选中"压缩应用程序文件" 和"压缩静态文件",按需要设置"临时目录" 和"临时目录的
最大限制",如下图所示:
图一
接下来配置gzip 组件,在Internet 信息服务(IIS)管理器,点击"Web 服务扩展"->"增加一个新的Web 服务扩展...",在"新建Web 服务扩展" 框中输入扩展名"HTTP Compression",添加"要求的文件" 为C:\WINDOWS\system32\inetsrv\gzip.dll,选中"设置扩展状态为允许",如下图所示:
图二
接着就是修改一个配置文件,修改之前请先停止IIS 服务,打开
C:\Windows\System32\inetsrv\MetaBase.xml,找到下面一段信息
HcCompressionDll="%windir%\system32\inetsrv\gzip.dll" HcCreateFlags="1" HcDoDynamicCompression="TRUE" HcDoOnDemandCompression="TRUE" HcDoStaticCompression="TRUE" HcDynamicCompressionLevel="0" HcFileExtensions="htm html txt js css xml" HcOnDemandCompLevel="9" HcPriority="1" HcScriptFileExtensions="asp dll exe php aspx jsp" >
其中:HcFileExtensions 是静态文件的扩展名,增加了js,css,xml;
HcScriptFileExtensions 为动态文件的扩展名,增加aspx,php,jsp;
HcOnDemandCompLevel为压缩比例,取值从0-10,0表示不压缩,10表示最高压缩率保存后重启IIS
整理来源:/showtopic-13.html