Tomcat启用Gzip压缩

来源:互联网 发布:上海大学网络选课 编辑:程序博客网 时间:2024/05/29 03:16

Gzip(GNU zip)是一个GNU自由软件的文件压缩程序,也经常用来表示gzip这种文件格式。Gzip是一种网络上使用非常普遍的数据压缩格式,大流量的web站点常常使用Gzip压缩技术来减少网络文件传输时间,以增强用户体验。

Tomcat5.0以后的版本提供了对输出内容进行Gzip压缩的支持,该功能默认是关闭的


1、启用

启用Gzip压缩,需要修改tomcat的配置文件 ${TOMCAT_HOME}/conf/server.xml

因为web站点从服务器传输超文本到本地浏览器的过程使用的Http协议,所以我们需要在HTTP Connector(HTTP连接器)上进行配置

<Connector port="8080" protocol="HTTP/1.1"               connectionTimeout="20000"               redirectPort="8443" />

在该Connector 上设置compression=”on”开启压缩支持(关闭为off,默认关闭)

<Connector port="8080" protocol="HTTP/1.1"     connectionTimeout="20000"    redirectPort="8443"     compression="on" />

2、设置

开启压缩的同时,我们还可以对压缩的参数进行配置

# 进行压缩的最小值,低于该值的文件不进行压缩(单位B,默认2048,即默认2k)compressionMinSize="2048"# 不需要进行压缩的浏览器,当浏览器类型为指定的类型时,不进行压缩noCompressionUserAgents="gozilla,traviata"# 需要压缩的文件类型(多个类型以逗号分隔)compressableMimeType="text/html,text/xml,image/png,text/css"

3、示例:

我们有样式文件bootstrap.css,该文件在压缩前约有144KB

这里写图片描述

修改server.xml,启用Gzip压缩

<Connector port="8080" protocol="HTTP/1.1"     connectionTimeout="20000"    redirectPort="8443"     compression="on"    compressionMinSize="2048"    noCompressionUserAgents="gozilla,traviata"    compressableMimeType="text/css" />

重启Tomcat服务器后,能够看到文件大小被压缩到了21.6kB。同时因为文件变小了,所以下载耗费的时间也得到了缩短

这里写图片描述

4、是否启用了Gzip

有些时候我们可能会想知道服务器到底有没有开启Gzip压缩,这个时候我们可以直接查看响应文件的文件头Content-Encoding 部分。

未启用Gzip压缩时的Response Headers

这里写图片描述

启用Gzip压缩后的Response Headers

这里写图片描述

对比两者,很明显能够看到启用Gzip压缩后的响应头多了Content-Encoding:gzip

0 0