HTTP 压缩可以大大提高浏览网站的速度,它的原理是,在客户端请求网页后,从服务器端将网页文件压缩,再下载到客户端,由客户端的浏览器负责解压缩并浏览。相对于普通的浏览过程 HTML ,CSS,Javascript , Text ,它可以节省 40% 左右的流量。更为重要的是,它可以对动态生成的,包括 CGI 、 PHP , JSP , ASP , Servlet,SHTML 等输出的网页也能进行压缩,压缩效率惊人
1 < Connector port ="80" maxHttpHeaderSize ="8192"
2 maxThreads ="150" minSpareThreads ="25" maxSpareThreads ="75"
3 enableLookups ="false" redirectPort ="8443" acceptCount ="100"
4 connectionTimeout ="20000" disableUploadTimeout ="true" URIEncoding ="utf-8" />
5 <!-- Note : To disable connection timeouts, set connectionTimeout value
6 to 0 -->
7
8 <!-- Note : To use gzip compression you could set the following properties :
9
10 compression="on"
11 compressionMinSize="2048"
12 noCompressionUserAgents="gozilla, traviata"
13 compressableMimeType="text/html,text/xml"
14 -->
从上面的 第 8 行 内容可以看出,要使用 gzip 压缩功能,你可以在 Connector 实例中加上如下属性即可
1) compression="on" 打开压缩功能
2) compressionMinSize="2048" 启用压缩的输出内容大小,这里面默认为 2KB
3) noCompressionUserAgents="gozilla, traviata" 对于以下的浏览器,不启用压缩
4) compressableMimeType="text/html,text/xml" 压缩类型
我这里的配置内容为:
1 < Connector port ="80" maxHttpHeaderSize ="8192"
2 maxThreads ="150" minSpareThreads ="25" maxSpareThreads ="75"
3 enableLookups ="false" redirectPort ="8443" acceptCount ="100"
4 connectionTimeout ="20000" disableUploadTimeout ="true" URIEncoding ="utf-8"
5 compression ="on"
6 compressionMinSize ="2048"
7 noCompressionUserAgents ="gozilla, traviata"
8 compressableMimeType ="text/html,text/xml,text/javascript,text/css,text/plain" />
9 <!-- Note : To disable connection timeouts, set connectionTimeout value
10 to 0 -->
11
12 <!-- Note : To use gzip compression you could set the following properties :
13
14 compression="on"
15 compressionMinSize="2048"
16 noCompressionUserAgents="gozilla, traviata"
17 compressableMimeType="text/html,text/xml"
18 -->
19
一旦启用了这个压缩功能后,我们怎么来测试压缩是否有效呢?首先 Tomcat 是根据浏览器请求头中的 accept-encoding 来判断浏览器是否支持压缩功能,如果这个值包含有 gzip ,就表明浏览器支持 gzip 压缩内容的浏览,所以我们可以用 httpclient 来写一个这样的简单测试程序
本文详细介绍了HTTP压缩技术如何提高网站浏览速度,并通过Tomcat配置实现gzip压缩功能,包括压缩开启、输出内容大小限制、不支持压缩的浏览器列表及压缩类型设置。最后提供了一个简单的测试方法来验证压缩效果。

3317

被折叠的 条评论
为什么被折叠?



