`
struts
  • 浏览: 76046 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

tomcat gzip

    博客分类:
  • java
阅读更多
背景: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也进行压缩:)
分享到:
评论
2 楼 jessige_27 2009-01-21  
一些疑问,在网上没找到:
静态的东西会每次都压缩么,比如JS和CSS?
可以手动压缩静态的东西么,只压缩一次?
压缩和解压过程会不会增加服务器的负担?
1 楼 mazzystar 2009-01-14  
需要手动压缩吗 ?还是配置之后会自动压缩?

相关推荐

    tomcat GZIP源码

    标题 "Tomcat GZIP源码" 指的是Apache Tomcat服务器中用于实现GZIP压缩功能的源代码。GZIP是一种广泛使用的数据压缩算法,它能够有效地减小HTTP响应的大小,从而提高网页加载速度,降低网络带宽的消耗。在Tomcat中,...

    如何验证Tomcat Gzip配置是否生效的方法

    本文主要介绍在Apache Tomcat服务器上配置和验证Gzip压缩是否生效的方法。 首先需要了解Tomcat中关于Gzip压缩的相关配置项,它们通常被设置在`conf/server.xml`文件中的`&lt;Connector&gt;`标签里。要启用Gzip压缩,需要...

    Tomcat.zip

    Tomcat,免费服务器应用,本地服务器配置,一键打开不用配置环境。

    apache-tomcat-6.0.0

    Apache Tomcat 6.0.0 是一个广泛应用的开源软件,它是Java Servlet和JavaServer Pages (JSP) 技术的实现,同时也包含了Java EE Web应用程序容器的功能。这个版本是针对Java开发者的,用于部署和运行Java Web应用程序...

    开启TOMCAT6的GZIP压缩

    ### 开启TOMCAT6的GZIP压缩 #### 背景与意义 随着互联网的发展,用户对于网页加载速度的要求越来越高。为了提升用户体验并减轻网络带宽的压力,TOMCAT服务器可以通过启用GZIP压缩功能来优化数据传输。GZIP是一种...

    Tomcat下,使用gzip压缩数据

    在IT行业中,优化Web服务性能是一项重要的任务,其中一种常用的方法是通过开启服务器的数据压缩功能,比如在Tomcat中使用gzip来压缩数据。gzip是一种广泛使用的数据压缩算法,尤其适用于HTTP传输,它能够显著减少...

    GZIP压缩Tomcat并提升web性能过程图解

    本文将深入探讨如何在Tomcat服务器上启用GZIP压缩以提高Web性能,并提供详细的过程图解。GZIP压缩是一种常见的HTTP协议支持的数据压缩机制,能够显著减少网络传输的数据量,从而加快网页加载速度,降低服务器带宽...

    tomcat设置gzip压缩共2页.pdf.zip

    【标题】:“Tomcat设置Gzip压缩”是一个关于在Apache Tomcat服务器上配置Gzip压缩以提高Web应用程序性能的主题。Gzip是一种广泛使用的数据压缩算法,它可以减少HTTP响应的大小,从而加快网页加载速度,降低网络带宽...

    tomcat开启gzip

    ### 开启Tomcat中的GZIP压缩 在现代Web开发中,提高网站性能是至关重要的一步。其中一种常用的方法就是通过启用GZIP压缩来减少传输的数据量,从而加快页面加载速度。本文将详细介绍如何在Tomcat服务器中开启GZIP...

    tomcat,apache,iis的GZIP配置

    【GZIP配置详解:Tomcat, Apache, IIS】 GZIP是一种广泛使用的数据压缩方法,尤其在Web服务器中,用于减少网页传输的数据量,从而提高加载速度和节省网络带宽。GZIP压缩技术遵循HTTP/1.1协议,通过检测浏览器发送的...

    Tomcat配置gzip压缩提高浏览网站的速度

    Tomcat服务器通过配置gzip压缩,可以显著提高网站内容的传输效率,从而加快用户浏览网站的速度。 首先,需要了解HTTP压缩的概念。HTTP压缩是一种使用各种算法来减少文件大小,以减少HTTP传输过程中的数据量的技术。...

    设置tomcat启用gzip压缩的具体操作方法

    Tomcat服务器的gzip压缩功能是一种优化策略,旨在提高Web应用的性能,减少网络传输的数据量。HTTP压缩主要通过将服务器发送到客户端的资源(如HTML、CSS、JavaScript等)压缩后再传输,从而加快页面加载速度,减少...

    linux版的tomcat

    `-z`参数表示使用gzip进行解压,`-x`参数表示解压,`-v`参数是详细模式,显示解压过程,`-f`后面接的是要解压的文件名。 解压完成后,我们可以看到源代码目录`apache-tomcat-7.0.39-src`,但通常我们并不需要编译源...

    linux64_tomcat7

    压缩包子文件"apache-tomcat-7.0.39.tar.gz"是Tomcat 7.0.39的归档文件,采用gzip压缩格式。在Linux环境下,用户可以使用`tar -zxvf apache-tomcat-7.0.39.tar.gz`命令来解压。解压后,会得到一个包含Tomcat所有文件...

    tomcat设置gzip压缩的原理及配置方法

    本文将详细介绍在Apache Tomcat服务器上设置GZIP压缩的原理和配置方法。 首先,让我们探讨一下GZIP压缩的原理。GZIP压缩算法基于deflate算法,是一种文件压缩格式,广泛用于在HTTP协议中进行文件压缩。当服务器对...

    apache-tomcat-7.0.70.tar.gz

    然后,`.gz`表示这个归档文件经过了gzip程序的压缩,以减小文件大小,提高下载速度。 **解压步骤**: 在Linux环境下,可以使用以下命令来解压并提取Tomcat文件: ```bash $ tar -zxvf apache-tomcat-7.0.70.tar.gz...

    apache-tomcat-8.0.3

    4. 开启GZIP压缩以减少网络传输的数据量。 总结,Apache Tomcat 8.0.3是一个强大的Java Web服务器,能够有效地支持JSP和Servlet应用。通过了解其核心特性和工作原理,以及正确配置和优化,我们可以充分利用Tomcat的...

    apache-tomcat-8.5.47-windows-x64.zip

    为了提升性能,可以考虑调整Tomcat的线程池大小、JVM内存设置、开启GZIP压缩等。此外,还可以通过调整JVM的垃圾回收策略和使用数据缓存来提高响应速度。 综上所述,Apache Tomcat 8.5.47在Windows x64环境下提供了...

Global site tag (gtag.js) - Google Analytics