Tomcat开启Gzip压缩功能有助于提高网页的加载速度,如果是移动端Rest ful请求返回json,启用了tomcat gzip压缩的话,既可以节约移动端的流量,还可以提高请求返回的速度,当然了,开启了gzip压缩也会增加tomcat服务器的负担,但这个就不用过多的考虑了。
今天我们来学习一下如何开启tomcat的gzip压缩吧!首先需要在tomcat的 /conf/server.xml中注释掉如下这行代码:
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
并将该条Connector配置改成如下的配置:
<Connector port="8080" maxHttpHeaderSize="8192" protocol="HTTP/1.1" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" compression="on" compressionMinSize="1024" noCompressionUserAgents="gozilla, traviata" compressableMimeType="text/html,text/xml,text/javascript,text/css,application/json"/>
如下图所示,使用“<-- xxxx -->”这样注释即可:
Connector属性说明:
maxThreads:tomcat起动的最大线程数,即同时处理的任务个数,默认值为150
maxSpareThreads:允许存在空闲线程的最大数目,默认值为50
minSpareThreads:设当连接器第一次启协创建线程的数目,确保至少有这么多的空闲线程可用。默认值为4
port:服务端套接字监听的TCP端口号,默认值为8080(必须)
maxHttpHeaderSize:HTTP请求和响应头的最大量,以字节为单位,默认值为4096字节
protocol:值必须为HTTP1.1,如果使用AJP处理器,该值必须为AJP/1.3
enableLookups:调用request、getRemoteHost()执行DNS查询,以返回远程主机的主机名,如果设置为false,则直接返回IP地址。
redirectPort:如连接器不支持SSL请求,如收到SSL请求,Catalina容器将会自动重定向指定的端口号,让其进行处理。
compression:指定是否对响应的数据进行压缩。off:表示禁止压缩、on:表示允许压缩(文本将被压缩)、force:表示所有情况下都进行压缩,默认值为off
compressionMinSize:多少k才压缩
enableLookups:禁用DNS查询
acceptCount:当tomcat起动的线程数达到最大时,接受排队的请求个数,默认值为100
connectionTimeout:设置连接的超时值,以毫秒为单位。默认值为60000=60秒
disableUploadTimeOut:运行上传超时,默认值为false
compressableMimeType:MIME的列表,哪些需要gzip压缩