I'm a tree and wating for the spring!

【原创】启用Tomcat的GZIP压缩功能

★作者:桐星豆博客   |  ★类别: 开发工具、服务器   |  ★发布时间: 2010-09-02 00:24   |  ★更新时间: 2012-06-01 11:22   |  ★浏览次数:2795   |  ★ 评论(0)
HTTP 压缩可以大大提高浏览网站的速度,它的原理是,在客户端请求网页后,从服务器端将网页文件压缩,再下载到客户端,由客户端的浏览器负责解压缩并浏览。相对于普通的浏览过程HTML ,CSS,Javascript , Text ,它可以节省40%左右的流量。更为重要的是,它可以对动态生成的,包括CGI、PHP , JSP , ASP , Servlet,SHTML等输出的网页也能进行压缩,压缩效率惊人。
对于Tomcat5.0以后的版本是支持对输出内容进行压缩的。使用的是gzip压缩格式,下面是tomcat6.0.20 中的%tomcat_home%/conf/server.xml的原内容:

<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" acceptCount="100" disableUploadTimeout="true" URIEncoding="utf-8" compression="on" compressionMinSize="2048" noCompressionUserAgents="gozilla, traviata" compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" />


★TOMCAT配置说明:

1) compression="on" 打开压缩功能 ;

2) compressionMinSize="2048" 启用压缩的输出内容大小,这里面默认为2KB ;

3) noCompressionUserAgents="gozilla, traviata" 对于以下的浏览器,不启用压缩;

4) compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" 压缩类型。

一旦启用了这个压缩功能后,我们怎么来测试压缩是否有效呢?我们可以用火狐的Firebug进行测试,还有其他的测试方法可以在网上搜索,这里只展现我亲自测试过的方法。首先Tomcat是根据浏览器请求头中的 Accept-Encoding 来判断浏览器是否支持压缩功能,比如Firefox/3.6.8的 Accept-Encoding为 gzip,deflate。如果这个值包含有gzip,就表明浏览器支持gzip压缩内容的浏览。以下测试案例是我用Firefox/3.6.8以桐星豆博客 http://www.xyxy.tk/index页面为例,启用Tomcat的GZIP压缩功能前后的比较:


★功能开启前:

桐星豆博客,www.xyxy.tk,【原创】启用Tomcat的GZIP压缩功能


★功能开启后:

桐星豆博客,www.xyxy.tk,【原创】启用Tomcat的GZIP压缩功能

由两图图中②可以看到Accept-Encoding的值为gzip,deflate,所以该浏览器支持压缩功能。图一是开启压缩功能之前的截图,我们可以看到请求的文件大小为39.7k,请求的时间为14.61秒;我们由从图二③Content-Encoding:gzip可以看出图二是开启了压缩功能的,开启压缩功能后,文件大小缩小为9k,较图一情况下缩小了30.7k,压缩后文件节省了4.1倍还要多,速度也大幅度加快,没压缩前为14.61s,压缩后为2.84s,加快了5.14倍还要多。

PS:测试之前都分别清空缓存、历史记录等等因素,最高限度的在相同环境下测试所得到的结果!

请尊重他人的劳动果实,转载时务必注明出处! 请尊重他人的劳动果实,转载时务必注明出处!
转载请注明:文章转载自:桐星豆博客 [http://blog.txdou.com]
本文标题:【原创】启用Tomcat的GZIP压缩功能
本文地址:http://blog.txdou.com/article31
分享到QQ空间 分享到腾讯朋友

  • 注意:“桐星豆博客”只会以“回复”的身份出现,不会以“咨询”的身份出现在留言或评论中,凡是以“咨询”的身份出现的留言或评论均为他人盗用!
  • 本站用以回复网友评论的唯一名称是“桐星豆博客”,除此外均无效,网友不得用此名进行相应文章的评论或回复!
  • 用户言论只代表其个人观点,不代表桐星豆博客的观点或立场!
  • 非诚勿扰,请友好如实的评论,杜绝谩骂、人格攻击等一切伤人言论,请严格遵循中华人民共和国法律法规!
  • 桐星豆博客拥有最终解释权,如有网友违规,本站将有权删除或屏蔽违规评论,情节严重者账户加入黑名单、永久封IP并报司法部门严惩!
  • 您一旦参与评论本站则默认为您已经同意以上条款,否则“非诚勿扰”,谢谢合作!

您的姓名或昵称: 选填
您的E-Mail地址: ☆必填--仅站长可见
您个人网站地址: 选填 ( 如果填写,请务必加上 http:// 或 https:// 等等 )
留言内容:

验证码: 点击重新生成验证码  [ ctrl + enter ]

CopyRight © 2009-2020 by 桐星豆博客 All Rights Reserved.