本帖最后由 米拿现’ 于 2013-1-3 14:39 编辑

网页压缩是一项由 WEB 服务器和浏览器之间共同遵守的协议,也就是说 WEB 服务器和浏览器都必须支持该技术,所幸的是现在流行的浏览器都是支持的,包括 IE、FireFox、Opera 等;服务器有 Apache 和 IIS 等。双方的协商过程如下:

  • 首先浏览器请求某个 URL 地址,并在请求的头 (head) 中设置属性 accept-encoding 值为 gzip, deflate,表明浏览器支持 gzip 和 deflate 这两种压缩方式(事实上 deflate 也是使用 gzip 压缩协议,下面我们会介绍二者之间的区别);
  • WEB 服务器接收到请求后判断浏览器是否支持压缩,如果支持就传送压缩后的响应内容,否则传送不经过压缩的内容;
  • 浏览器获取响应内容后,判断内容是否被压缩,如果是则解压缩,然后显示响应页面的内容。

在实际的应用中我们发现压缩的比率往往在 3 到 10 倍,也就是本来 50k 大小的页面,采用压缩后实际传输的内容大小只有 5 至 15k 大小,这可以大大节省服务器的网络带宽,同时如果应用程序的响应足够快时,网站的速度瓶颈就转到了网络的传输速度上,因此内容压缩后就可以大大的提升页面的浏览速度。

接下来我们介绍几种常用的环境下如何启用网页压缩功能。

IIS 服务器

微软的 IIS 服务器同样也是目前用得最多的 WEB 服务器之一,而且用来运行 ASP 页面也是必不可少的。IIS6 本身支持 gzip 压缩,IIS5 就比较费劲了,接下来我们介绍如何在 IIS6 中启用压缩功能。

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

图1 设置网站属性

接下来配置 gzip 组件,在 Internet 信息服务(IIS)管理器,点击 "Web 服务扩展"->"增加一个新的 Web 服务扩展…",在 "新建 Web 服务扩展" 框中输入扩展名 "HTTP Compression",添加 "要求的文件" 为 C:WINDOWSsystem32inetsrvgzip.dll,选中 "设置扩展状态为允许",如下图所示:

图2 设置 Web 服务扩展

图3 新建 Web 服务扩展

还没完呢,我们还需要修改一个配置文件,修改之前请先停止 IIS 服务,打开 C:WindowsSystem32inetsrvMetaBase.xml,这个文件很大,找到下面一段信息:

<IIsCompressionScheme        Location ="/LM/W3SVC/Filters/Compression/gzip"                HcCompressionDll="%windir%system32inetsrvgzip.dll"                HcCreateFlags="1"                HcDoDynamicCompression="TRUE"                HcDoOnDemandCompression="TRUE"                HcDoStaticCompression="TRUE"                HcDynamicCompressionLevel="0"                HcFileExtensions="htm                        html                        txt"                HcOnDemandCompLevel="10"                HcPriority="1"                HcScriptFileExtensions="asp                        dll                        exe"        ></IIsCompressionScheme>

接下来先停止IIS服务器,这个可以在IIS管理中停止,也可以在服务管理或CMD中停止,然后找到“C:Windowssystem32inetsrvMetaBase.xml”文件,用记事本打开(建议修改前先备份文件,我推荐使用Editplus编辑),找到 “IIsCompressionScheme”,这里有三个相同名字的段,最后一个不用管,我们只需修改前两个。 将 HcDoDynamicCompression、HcDoStaticCompression和HcDoOnDemandCompression设置为 “TRUE”,HcDynamicCompressionLevel设置为9(这里可以设置0~9,9是压缩率最高的),然后在HcFileExtensions(表示静态文件)和HcScriptFileExtensions(表示动态脚本文件)中增加你要压缩的文件类型,如:ASP、PHP等。

IIS6开启配置网页gzip压缩

5.jpg (46.32 KB, 下载次数: 0)

下载附件  保存到相册

2013-1-3 14:39 上传

发表评论

电子邮件地址不会被公开。 必填项已用*标注