网站首页 文章专栏 tomcat启用GZIP压缩
tomcat启用GZIP压缩
编辑时间:2018-11-08 15:44:09 作者:田泽 浏览量:469

一 、前言

       HTTP压缩可以大大提高浏览网站的速度,它的原理是,在客户端请求服务器对应资源后,从服务器端将资源文件压缩,再输出到客户端,由客户端的浏览器负责解压缩并浏览。即:通过减小HTTP响应大小来减少响应时间。相对于普通的浏览过程HTML ,CSS,Javascript , Text ,它可以节省40%左右的流量。更为重要的是,它可以对动态生成的,包括CGI、PHP , JSP , ASP , Servlet,SHTML等输出的网页也能进行压缩,压缩效率也很高。而GZIP本身就是一种网络流压缩算法,而且应用相当广泛。

        简单来说就是用户访问网站时,服务器先把网页压缩,再把压缩后的网页传输到来访的用户浏览器中,明显的效果的就是点击访问网站之后可以快速渲染,但是压缩的过程会提高服务器的CPU消耗

二、修改tomcat文件

        tomcat版本要求5.0以上,修改%TOMCAT_HOME%/conf/server.xml
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />

修改后代码

<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="utf-8"
compression="on" compressionMinSize="2048"
noCompressionUserAgents="gozilla, traviata"
compressableMimeType="text/html,text/xml,text/javascript,
text/css,text/plain"/>

参数说明:

  1、compression="on" 开启压缩。可选值:"on"开启,"off"关闭,"force"任何情况都开启。

  2、compressionMinSize="2048"大于2KB的文件才进行压缩。用于指定压缩的最小数据大小,单位B,默认2048B。注意此值的大小,如果配置不合理,产生的后果是小文件压缩后反而变大了,达不到预想的效果。

  3、noCompressionUserAgents="gozilla, traviata",对于这两种浏览器,不进行压缩(我也不知道这两种浏览器是啥,百度上没找到),其值为正则表达式,匹配的UA将不会被压缩,默认空。

  4、compressableMimeType="text/html,text/xml,application/javascript,text/css,text/plain,text/json"会被压缩的MIME类型列表,多个逗号隔,表明支持html、xml、js、css、json等文件格式的压缩(plain为无格式的,但对于具体是什么,我比较概念模糊)。compressableMimeType很重要,它用来告知tomcat要对哪一种文件进行压缩,如果类型指定错误了,肯定是无法压缩的。

三、检查是否启用GZIP压缩

    修改完后重启tomcat,可以到http://seo.chinaz.com/?host=域名检测

注意:开启GZIP压缩虽然可以提高web响应速度,但是会提高服务器CPU消耗,看你如果取舍。

我的服务器配置不高,所以目前没有开启GZIP压缩,写文章记录一下以备不时之需。


支付宝打赏 微信打赏

您的支持是我最大的动力。

吐槽区