作者:my小甜心 | 来源:互联网 | 2014-05-28 11:59
这两个配置是在servere.xml中的Connector部分,第一个配置是指定Tomcat压缩哪些内容,第二个配置是指示Tomcat是否启用压缩,默认是关闭的。所以假设我们要让Tomcat在默认的8080端口上的输出内容进行压缩,我们的配置应该是:Connectorport8080protocol
这两个配置是在servere.xml中的Connector部分,第一个配置是指定Tomcat压缩哪些内容,第二个配置是指示Tomcat是否启用压缩,默认是关闭的。所以假设我们要让Tomcat在默认的8080端口上的输出内容进行压缩,我们的配置应该是:
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也进行压缩:)