iis利用压缩网页gzip来提升网站浏览速度.doc_第1页
iis利用压缩网页gzip来提升网站浏览速度.doc_第2页
iis利用压缩网页gzip来提升网站浏览速度.doc_第3页
iis利用压缩网页gzip来提升网站浏览速度.doc_第4页
iis利用压缩网页gzip来提升网站浏览速度.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

网站的访问速度是由多个因素所共同决定的,这些因素例如应用程序的响应速度、网络带宽、服务器性能、与客户端之间的网络传输速度等等。其中最重要的一个因素是应用程序本身的响应速度,因此当你为网站性能所苦恼时,你第一个需要着手进行处理的便是尽可能的提升应用程序的执行速度,你可以使用缓存或者是优化代码的执行效率来提升应用程序的速度。但是,本文并不是介绍如何来提升应用程序的执行效率,前面提到的只不过是为了防止您病急乱投医。在确保您的应用程序的性能已经达到足够好,同时服务器的性能也完全满足的情况下,不妨来试试网页压缩来进一步提升网页的浏览速度,而且非常重要的是,它完全不需要任何的成本,只不过是会让您的服务器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 服务器微软的 IIS 服务器同样也是目前用得最多的 WEB 服务器之一,而且用来运行 ASP 页面也是必不可少的。IIS6 本身支持 gzip 压缩,IIS5 就比较费劲了,你可以找一些第三方的组件来处理,例如 httpzip,网址是:/products/httpzip/?vid=3354166,不过这玩意是收费的。接下来我们介绍如何在 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/deflate”HcCompressionDll=”%windir%system32inetsrvgzip.dll”HcCreateFlags=”0HcDoDynamicCompression=”TRUE”HcDoOnDemandCompression=”TRUE”HcDoStaticCompression=”true”HcDynamicCompressionLevel=”9HcFileExtensions=”htmhtmltxtjscssswfxml”HcOnDemandCompLevel=”9HcPriority=”1HcScriptFileExtensions=”ASPASPxdllexe”增加一些要进行压缩的文件后缀,其中 HcFileExtensions 是静态文件的扩展名,增加 js 和 css 等;HcScriptFileExtensions 为动态文件的扩展名,增加 aspx,保存后启动 IIS 即可生效。最后我们介绍如何来测试前面所做的工作是否起效,你可能会觉得很奇怪,配置好了,用浏览器打开页面正常,查看页面源码,内容并没有变化,大小也跟原来一样,怎么回事呢?这是因为浏览器已经把内容解压了的结果,有两个方法来判断压缩是否生效:第一,查看 WEB 服务器的日志,不管是 Apache 或者是 IIS,二者的访问日志格式都差不多是下面这种格式: - - 14/May/2006:08:44:28 +0800 GET /manual/style/css/manual.css HTTP/1.1 200 19351最后两个数字分别是 HTTP 的结果码(200 表示 OK),19351 表示的是响应内容的大小,把这个大小跟你在浏览器上查看源码的大小比较一下就可以知道是否生效。另外一种方法就是自己写一个 HTTP 客户端的小程序并设置 Accept-Encoding 的值为 gzip,deflate,由这个程序去请求服务器端的某个 URL 地址,然后打印出响应的内容,如果是一堆乱码,恭喜你,配置成功。下面是一段 Java 写的测试客户端代码(需要用到 commons-httpclient 包):HttpClient http = new HttpClient();String url = /javayou;GetMethod get = new GetMethod(url);trySystem.out.println(fetching url : + url);get.addRequestHeader(accept-encoding, gzip,deflate);int er = http.executeMethod(get);if(er=200)System.out.println(get.getResponseContentLength();String html = get.getResponseBodyAsString();System.out.println(html);System.out.println(html.getBytes().length);finallyget.releaseConnection();结论以上是目前比较流行的两个 WEB 服务器软件以及 Tomcat 服务器对于页面压缩的配置方法;其他的一些 J2EE 应用服务器如果不支持这个功能的话可以考虑利用过滤器(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论