2014-04-01 16:03:03
来 源
itjs.cn
Apache
本文介绍tomcat服务器配置gzip压缩传输的方法,希望对于tomcat入门者给与帮助。更多tomcat资源请本站内搜索。
这两个配置是在servere.xml中的Connector部分,第一个配置是指定Tomcat压缩哪些内容,第二个配置是指示Tomcat是否启用压缩,默认是关闭的。所以假设我们要让Tomcat在默认的8080端口上的输出内容进行压缩,我们的配置应该是:

<Connector port="8080" protocol="HTTP/1.1"

maxThreads="150" connectionTimeout="20000"

redirectPort="8443" compression="on"/>

一旦启用了这个压缩功能后,我们怎么来测试压缩是否有效呢?首先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也进行压缩:)

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。