Tomcat与Gzip与缓存

本文介绍如何在 Tomcat 中配置 GZIP 压缩以减少 HTTP 响应大小并提升网页加载速度。通过修改 server.xml 文件中的 Connector 元素,启用 GZIP 压缩功能,并设置最小压缩大小及可压缩 MIME 类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在tomcat中配置gzip的方法是在conf/server.xml文件中把以前的配置修改成

Java代码 复制代码 收藏代码
  1. <Connector 
  2.            port="8080"       maxHttpHeaderSize="8192" 
  3.            maxThreads="150" minSpareThreads="25" maxSpareThreads="75" 
  4.            enableLookups="false" redirectPort="8443" acceptCount="100" 
  5.            connectionTimeout="20000" disableUploadTimeout="true" 
  6.   compression="on"  
  7.            compressionMinSize="2048"  
  8.            noCompressionUserAgents="gozilla, traviata"  
  9.            compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"  />  
  10.  
  11.   /> 
    <Connector
               port="8080"       maxHttpHeaderSize="8192"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               connectionTimeout="20000" disableUploadTimeout="true"
			   compression="on" 
               compressionMinSize="2048" 
               noCompressionUserAgents="gozilla, traviata" 
               compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"  /> 

			   />

经测试在没有压缩之前的大小为1.5M 在压过之后只有10K,可能是和有很多重复数据有关,响应速度也有以前的2.5秒到275ms

配置后的头文件你会发现成这样了

Html代码 复制代码 收藏代码
  1. 响应头信息 
  2. Server  Apache-Coyote/1.1 
  3. Set-Cookie  JSESSIONID=072D9B189C4AA9DA4D4AD0B6C2C89E50; Path=/test 
  4. Content-Type    text/html;charset=ISO-8859-1 
  5. Transfer-Encoding   chunked 
  6. Content-Encoding    gzip 
  7. Vary    Accept-Encoding 
  8. Date    Mon, 04 Jan 2010 04:49:38 GMT 
  9. 请求头信息 
  10. Host    localhost:8080 
  11. User-Agent  Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6 
  12. Accept  text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 
  13. Accept-Language zh-cn,zh;q=0.5 
  14. Accept-Encoding gzip,deflate 
  15. Accept-Charset  GB2312,utf-8;q=0.7,*;q=0.7 
  16. Keep-Alive  300 
  17. Connection  keep-alive 
  18. Cookie  JSESSIONID=1C8DB59AC74495495ED374B13C3D930A 
  19. Cache-Control   max-age=0 
响应头信息
Server	Apache-Coyote/1.1
Set-Cookie	JSESSIONID=072D9B189C4AA9DA4D4AD0B6C2C89E50; Path=/test
Content-Type	text/html;charset=ISO-8859-1
Transfer-Encoding	chunked
Content-Encoding	gzip
Vary	Accept-Encoding
Date	Mon, 04 Jan 2010 04:49:38 GMT
请求头信息
Host	localhost:8080
User-Agent	Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6
Accept	text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language	zh-cn,zh;q=0.5
Accept-Encoding	gzip,deflate
Accept-Charset	GB2312,utf-8;q=0.7,*;q=0.7
Keep-Alive	300
Connection	keep-alive
Cookie	JSESSIONID=1C8DB59AC74495495ED374B13C3D930A
Cache-Control	max-age=0

没有配之前为

Html代码 复制代码 收藏代码
  1. 响应头信息 
  2. Server  Apache-Coyote/1.1 
  3. Content-Type    text/html;charset=ISO-8859-1 
  4. Transfer-Encoding   chunked 
  5. Date    Mon, 04 Jan 2010 04:54:00 GMT 
  6. 请求头信息 
  7. Host    localhost:8080 
  8. User-Agent  Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6 
  9. Accept  text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 
  10. Accept-Language zh-cn,zh;q=0.5 
  11. Accept-Encoding gzip,deflate 
  12. Accept-Charset  GB2312,utf-8;q=0.7,*;q=0.7 
  13. Keep-Alive  300 
  14. Connection  keep-alive 
  15. Cookie  JSESSIONID=072D9B189C4AA9DA4D4AD0B6C2C89E50 
  16. Cache-Control   max-age=0 
响应头信息
Server	Apache-Coyote/1.1
Content-Type	text/html;charset=ISO-8859-1
Transfer-Encoding	chunked
Date	Mon, 04 Jan 2010 04:54:00 GMT
请求头信息
Host	localhost:8080
User-Agent	Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6
Accept	text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language	zh-cn,zh;q=0.5
Accept-Encoding	gzip,deflate
Accept-Charset	GB2312,utf-8;q=0.7,*;q=0.7
Keep-Alive	300
Connection	keep-alive
Cookie	JSESSIONID=072D9B189C4AA9DA4D4AD0B6C2C89E50
Cache-Control	max-age=0

在jsp中默认都是使用缓存的,如果不想使用可以在jsp页面中添加

Java代码 复制代码 收藏代码
  1. <%  
  2. response.setHeader("Pragma","No-cache");  
  3. response.setHeader("Cache-Control","no-cache");  
  4. response.setDateHeader("Expires", 0);  
  5. %>  
<% 
response.setHeader("Pragma","No-cache"); 
response.setHeader("Cache-Control","no-cache"); 
response.setDateHeader("Expires", 0); 
%> 

注意,这里只是对页面不使用缓存,图片、css、js还是可以使用缓存的

如果想控制某个类型不使用缓存可以使用过滤器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值