背景:HTTP 压缩可以大大提高浏览网站的速度,它的原理是,在客户端请求网页后,从服务器端将网页文件压缩,再下载到客户端,由客户端的浏览器负责解压缩并浏览。相对于普通的浏览过程HTML ,CSS,Javascript , Text ,它可以节省40%左右的流量。更为重要的是,它可以对动态生成的,包括CGI、PHP , JSP , ASP , Servlet,SHTML等输出的网页也能进行压缩,压缩效率惊人。
一,对于Tomcat5.0以后的版本是支持对输出内容进行压缩的。使用的是gzip压缩格式
下面是tomcat5.5.20 中的$tomcat_home$/conf/server.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 <!-- 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实例中加上如下属性即可
compression="on" 打开压缩功能
compressionMinSize="2048" 启用压缩的输出内容大小,这里面默认为2KB
noCompressionUserAgents="gozilla, traviata" 对于以下的浏览器,不启用压缩
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来写一个这样的简单测试程序
程序代码:
package com.liusoft.dlog4j.test;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.GetMethod;
/**
* HTTP客户端测试类
* @author liudong
*/
public class HttpTester {
/**
* @param args
*/
public static void main(String[] args) throws Exception{
HttpClient http = new HttpClient();
GetMethod get = new GetMethod("http://www.dlog.cn/js/prototype.js");
try{
get.addRequestHeader("accept-encoding", "gzip,deflate");
get.addRequestHeader("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Alexa Toolbar; Maxthon 2.0)");
int er = http.executeMethod(get);
if(er==200){
System.out.println(get.getResponseContentLength());
String html = get.getResponseBodyAsString();
System.out.println(html);
System.out.println(html.getBytes().length);
}
}finally{
get.releaseConnection();
}
}
}
执行这个测试程序,看看它所输出的是什么内容,如果输出的是一些乱码,以及打印内容的长度远小于实际的长度,那么恭喜你,你的配置生效了,你会发现你网站的浏览速度比以前快多了。
另外你最好对网站所用的javascript和css也进行压缩:)
分享到:
相关推荐
标题 "Tomcat GZIP源码" 指的是Apache Tomcat服务器中用于实现GZIP压缩功能的源代码。GZIP是一种广泛使用的数据压缩算法,它能够有效地减小HTTP响应的大小,从而提高网页加载速度,降低网络带宽的消耗。在Tomcat中,...
本文主要介绍在Apache Tomcat服务器上配置和验证Gzip压缩是否生效的方法。 首先需要了解Tomcat中关于Gzip压缩的相关配置项,它们通常被设置在`conf/server.xml`文件中的`<Connector>`标签里。要启用Gzip压缩,需要...
Tomcat,免费服务器应用,本地服务器配置,一键打开不用配置环境。
Apache Tomcat 6.0.0 是一个广泛应用的开源软件,它是Java Servlet和JavaServer Pages (JSP) 技术的实现,同时也包含了Java EE Web应用程序容器的功能。这个版本是针对Java开发者的,用于部署和运行Java Web应用程序...
### 开启TOMCAT6的GZIP压缩 #### 背景与意义 随着互联网的发展,用户对于网页加载速度的要求越来越高。为了提升用户体验并减轻网络带宽的压力,TOMCAT服务器可以通过启用GZIP压缩功能来优化数据传输。GZIP是一种...
在IT行业中,优化Web服务性能是一项重要的任务,其中一种常用的方法是通过开启服务器的数据压缩功能,比如在Tomcat中使用gzip来压缩数据。gzip是一种广泛使用的数据压缩算法,尤其适用于HTTP传输,它能够显著减少...
本文将深入探讨如何在Tomcat服务器上启用GZIP压缩以提高Web性能,并提供详细的过程图解。GZIP压缩是一种常见的HTTP协议支持的数据压缩机制,能够显著减少网络传输的数据量,从而加快网页加载速度,降低服务器带宽...
【标题】:“Tomcat设置Gzip压缩”是一个关于在Apache Tomcat服务器上配置Gzip压缩以提高Web应用程序性能的主题。Gzip是一种广泛使用的数据压缩算法,它可以减少HTTP响应的大小,从而加快网页加载速度,降低网络带宽...
### 开启Tomcat中的GZIP压缩 在现代Web开发中,提高网站性能是至关重要的一步。其中一种常用的方法就是通过启用GZIP压缩来减少传输的数据量,从而加快页面加载速度。本文将详细介绍如何在Tomcat服务器中开启GZIP...
【GZIP配置详解:Tomcat, Apache, IIS】 GZIP是一种广泛使用的数据压缩方法,尤其在Web服务器中,用于减少网页传输的数据量,从而提高加载速度和节省网络带宽。GZIP压缩技术遵循HTTP/1.1协议,通过检测浏览器发送的...
Tomcat服务器通过配置gzip压缩,可以显著提高网站内容的传输效率,从而加快用户浏览网站的速度。 首先,需要了解HTTP压缩的概念。HTTP压缩是一种使用各种算法来减少文件大小,以减少HTTP传输过程中的数据量的技术。...
Tomcat服务器的gzip压缩功能是一种优化策略,旨在提高Web应用的性能,减少网络传输的数据量。HTTP压缩主要通过将服务器发送到客户端的资源(如HTML、CSS、JavaScript等)压缩后再传输,从而加快页面加载速度,减少...
`-z`参数表示使用gzip进行解压,`-x`参数表示解压,`-v`参数是详细模式,显示解压过程,`-f`后面接的是要解压的文件名。 解压完成后,我们可以看到源代码目录`apache-tomcat-7.0.39-src`,但通常我们并不需要编译源...
压缩包子文件"apache-tomcat-7.0.39.tar.gz"是Tomcat 7.0.39的归档文件,采用gzip压缩格式。在Linux环境下,用户可以使用`tar -zxvf apache-tomcat-7.0.39.tar.gz`命令来解压。解压后,会得到一个包含Tomcat所有文件...
本文将详细介绍在Apache Tomcat服务器上设置GZIP压缩的原理和配置方法。 首先,让我们探讨一下GZIP压缩的原理。GZIP压缩算法基于deflate算法,是一种文件压缩格式,广泛用于在HTTP协议中进行文件压缩。当服务器对...
然后,`.gz`表示这个归档文件经过了gzip程序的压缩,以减小文件大小,提高下载速度。 **解压步骤**: 在Linux环境下,可以使用以下命令来解压并提取Tomcat文件: ```bash $ tar -zxvf apache-tomcat-7.0.70.tar.gz...
4. 开启GZIP压缩以减少网络传输的数据量。 总结,Apache Tomcat 8.0.3是一个强大的Java Web服务器,能够有效地支持JSP和Servlet应用。通过了解其核心特性和工作原理,以及正确配置和优化,我们可以充分利用Tomcat的...
为了提升性能,可以考虑调整Tomcat的线程池大小、JVM内存设置、开启GZIP压缩等。此外,还可以通过调整JVM的垃圾回收策略和使用数据缓存来提高响应速度。 综上所述,Apache Tomcat 8.5.47在Windows x64环境下提供了...