背景: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也进行压缩:)
分享到:
相关推荐
3. **启用Gzip压缩**:在`<Connector>`标签内,添加`compression="on"`属性来开启Gzip压缩。同时,可以设置`compressionMinSize="2048"`,表示只有当响应体大小超过2048字节时才启动压缩,以避免对小文件的过度压缩...
为了提升用户体验并减轻网络带宽的压力,TOMCAT服务器可以通过启用GZIP压缩功能来优化数据传输。GZIP是一种常用的文件格式与数据压缩算法,能够显著减少文件大小,从而提高传输效率。对于使用TOMCAT6作为应用服务器...
在`<Connector>`标签内添加或修改以下参数来开启gzip压缩: 1. `compression="on"`:设置为"on"表示开启gzip压缩。如果设置为"off",则关闭压缩。此外,"force"选项强制压缩所有请求,包括非文本内容如图片。 2. `...
1. 打开压缩功能:在`<Connector>`节点中添加`compression="on"`,这表示开启gzip压缩。 2. 设置压缩阈值:通过`compressionMinSize`属性设定启用压缩的最小输出内容大小。例如,`compressionMinSize="50"`表示当...
本文将详细介绍如何在Tomcat服务器中开启GZIP压缩功能。 #### 1. GZIP压缩简介 GZIP是一种广泛使用的数据压缩格式,它使用Lempel-Ziv编码(LZ77)进行压缩。当服务器将数据发送给客户端时,如果浏览器支持GZIP压缩...
EhCache是一款流行的Java缓存系统...综上所述,EhCache开启gzip压缩功能是优化Web应用性能的有效手段,能够减少网络延迟,提高用户体验。同时,正确地配置和使用gzip压缩,还需考虑浏览器兼容性以及服务器资源的平衡。
通过深入理解这些知识点,并结合Tomcat的GZIP源码,开发者可以定制适合自己项目的GZIP压缩策略,优化服务器性能,同时确保内容的正确显示。对于处理ACTION和JSP这类动态生成的内容,正确的字符集处理和兼容性设计尤...
通过修改服务器配置文件,可以轻松开启gzip压缩功能,从而提升网站性能。在Tomcat 5.5.20版本中的server.xml配置文件中,可以找到标签,这是定义服务器端接受和处理HTTP请求的关键配置部分。通过在标签中添加特定的...
在Tomcat服务器中启用GZIP压缩功能,可以通过修改Tomcat的配置文件server.xml来实现。server.xml文件位于Tomcat的conf目录下,通常需要以管理员权限修改。为了启用压缩,需要在元素中设置一些特定的属性。 具体配置...
Tomcat支持GZIP压缩功能,可以通过在`server.xml`中的`Connector`节点下添加相应的配置来启用压缩。 ```xml ,traviata" compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"/> ```...
2. **GZIP压缩**:启用`Compression`配置,对响应内容进行GZIP压缩,减小网络传输数据量。 以上就是`apache-tomcat-8.5.5`配置优化后的关键点。正确调整这些设置能显著提升Tomcat的运行效率和服务质量。在实际部署...
本文主要讲解了如何在Tomcat中配置多端口域名访问,并且详细介绍了如何开启gzip压缩,以提高Web应用的性能和响应速度。 首先,我们要了解如何在Tomcat中配置不同的端口来访问同一域名。在Web服务器中,端口是用来...
2. **静态资源处理**:使用CDN加速静态资源加载,或者开启GZIP压缩,减小传输体积。 3. **缓存策略**:使用Ehcache或Redis等缓存技术,减少数据库访问。 4. **日志优化**:合理配置日志级别,避免过度的日志输出...
这里,`compression="on"`开启GZIP压缩,`compressionMinSize="2048"`表示只有当响应内容大于2048字节时才会进行压缩。`noCompressionUserAgents`用于指定某些不支持GZIP的浏览器,如gozilla和traviata,不会对其...
【GZIP配置详解:Tomcat, Apache, IIS】 GZIP是一种广泛使用的数据压缩...总的来说,无论是在Tomcat、Apache还是IIS服务器上,启用GZIP压缩都是提升Web性能的有效手段,只需要根据各自服务器的配置方式进行适当调整。
3. 压缩响应:开启GZIP压缩,减小传输数据量,加快页面加载速度。 四、代码优化 1. 减少session使用:session会占用服务器内存,尽量使用cookie或者token代替。 2. 避免过度使用全局变量和静态变量,减少内存占用...
对于Apache Tomcat这种广泛使用的Java Web应用服务器,Tomcat 7版本提供了内置的支持以开启gzip压缩功能,从而帮助用户优化其Web应用的性能。 在Tomcat 7服务器中开启gzip压缩功能,主要通过修改Tomcat的配置文件来...
通过修改服务器配置文件(如Tomcat的`server.xml`),我们可以开启gzip压缩并设置相应的参数,如最小压缩大小、缓存大小等。例如,在Tomcat中,我们可以在`Connector`元素中添加`compressableMimeType`和`...