tomcat开启gzip压缩响应数据
在实际项目开发过程为,如果由于服务端响应数据量较大,导致客户端下载响应数据的耗时较长,可以考虑开启tomcat的gzip功能,对响应数据进行压缩。
开启此功能时,服务端给客户端的响应会多一个响应头:Content-Encoding:gzip
,客户端(一般为浏览器)解析到此响应头,会通过gzip对响应进行解压。
打开tomcat目录,修改conf
目录下的server.xml
文件
找到以下内容,注意port
为8080
,protocol
为HTTP/1.1
;
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"/>
修改为以下内容。
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
compression="on"
compressionMinSize="10240"
noCompressionUserAgents="gozilla, traviata"
compressableMimeType="text/html,text/xml,text/javascript,application/javascript,
text/css,text/plain,text/json,application/json"/>
配置 | 含义 |
---|---|
compression | “on”:开启gzip压缩 |
compressionMinSize | 当响应内容大于多少时开启压缩,单位为Byte |
noCompressionUserAgents | 不压缩的用户代理(用户代理:一般为浏览器内核),对gozilla, traviata这两个浏览器内核不做压缩 |
compressableMimeType | 需要压缩的MIME类型 |
MIME, Multipurpose Internet Mail Extensions, 意为多功能Internet邮件扩展,它设计的最初目的是为了在发送电子邮件时附加多媒体数据,让邮件客户程序能根据其类型进行处理。然而当它被HTTP协议支持之后,它的意义就更为显著了。它使得HTTP传输的不仅是普通的文本,而变得丰富多彩。每个MIME类型由两部分组成,前面是数据的大类别,例如声音audio、图象image等,后面定义具体的种类