有时因为数据量大(或者图片比较大)需要启用压缩,这里就记录下如何开启Tomcat的gzip压缩
1.配置server.xml文件
找到包含protocol="HTTP/1.1"这个属性值的connector,添加下面的配置:
compression="on" compressionMinSize="50" noCompressionUserAgents="gozilla, traviata" compressableMimeType="application/json,text/html,text/xml,text/javascript,text/css,text/plain"
其中:
compressableMimeType表示启用压缩的mimetype,noCompressionUserAgents表示哪些浏览器不使用gzip压缩
2.应用中输出数据
response.setContentType("application/json;charset=UTF-8"); PrintWriter writer = response.getWriter(); writer.print(......); writer.flush(); writer.close();
这里主要是要设置Content-Type这个头,应该在之前配置的compressableMimeType列表中
3.获取gzip压缩后的数据
采用HttpClient方式模拟http请求,想要获取的是gzip压缩后的数据,那么应该在accept-encoding请求头的值中添加gzip类型
public static void main(String[] args) throws Exception { HttpMethod method = new GetMethod("http://localhost/web/user"); method.setRequestHeader(new Header("accept-encoding","gzip,deflate,sdch")); HttpClient client = new HttpClient(); client.executeMethod(method); String response = method.getResponseBodyAsString(); System.out.println("---------------------------------------------------------"); System.out.println(response); System.out.println("---------------------------------------------------------"); String res = getUngzipString(method); System.out.println("---------------------------------------------------------"); System.out.println(res); System.out.println("---------------------------------------------------------"); System.out.println(); } public static String getUngzipString(HttpMethod method) throws Exception{ InputStream is = method.getResponseBodyAsStream(); GZIPInputStream gzin = new GZIPInputStream(is); InputStreamReader isr = new InputStreamReader(gzin, "UTF-8"); java.io.BufferedReader br = new java.io.BufferedReader(isr); StringBuffer sb = new StringBuffer(); String tempbf; while ((tempbf = br.readLine()) != null) { sb.append(tempbf); } isr.close(); gzin.close(); System.out.println(method.getResponseHeader("Content-Type")+"-->"+method.getResponseHeader("Content-Type").getValue()); return sb.toString(); }
如上段代码是测试读取gzip的2个方法,第一个打印System.out.println(response)输出的内容是乱码,第二个打印System.out.println(res)输出的是gzip解压后的内容
相关推荐
【标题】:“Tomcat设置Gzip压缩”是一个关于在Apache Tomcat服务器上配置Gzip压缩以提高Web应用程序性能的主题。Gzip是一种广泛使用的数据压缩算法,它可以减少HTTP响应的大小,从而加快网页加载速度,降低网络带宽...
Tomcat服务器通过配置gzip压缩,可以显著提高网站内容的传输效率,从而加快用户浏览网站的速度。 首先,需要了解HTTP压缩的概念。HTTP压缩是一种使用各种算法来减少文件大小,以减少HTTP传输过程中的数据量的技术。...
在Tomcat中,配置gzip压缩主要涉及到修改`conf/server.xml`文件。在这个文件中,我们需要找到`<Connector>`标签,这个标签定义了Tomcat服务器的连接器,用于处理HTTP请求。在`<Connector>`标签内添加或修改以下参数...
#### 配置TOMCAT6以启用GZIP压缩 TOMCAT自5.0版本起就已经支持对输出内容进行GZIP压缩。以下是具体步骤: 1. **编辑配置文件**: - 打开`$TOMCAT_HOME/conf/server.xml`文件。 - 查找`<Connector>`标签,并添加...
标题 "Tomcat GZIP源码" 指的是Apache Tomcat服务器中用于实现GZIP压缩功能的源代码。GZIP是一种广泛使用的数据压缩算法,它能够有效地减小HTTP响应的大小,从而提高网页加载速度,降低网络带宽的消耗。在Tomcat中,...
本文将详细介绍在Apache Tomcat服务器上设置GZIP压缩的原理和配置方法。 首先,让我们探讨一下GZIP压缩的原理。GZIP压缩算法基于deflate算法,是一种文件压缩格式,广泛用于在HTTP协议中进行文件压缩。当服务器对...
启用Tomcat的gzip压缩,需要修改`%TOMCAT_HOME%/conf/server.xml`配置文件中的`<Connector>`节点。具体步骤如下: 1. 打开压缩功能:在`<Connector>`节点中添加`compression="on"`,这表示开启gzip压缩。 2. 设置...
### 开启Tomcat中的GZIP压缩 在现代Web开发中,提高网站性能是至关重要的一步。...同时,正确配置GZIP压缩也可以帮助减少服务器资源的消耗。希望本文能帮助您更好地理解如何在实际应用中启用GZIP压缩。
【GZIP配置详解:Tomcat, Apache, IIS】 GZIP是一种广泛使用的数据压缩...总的来说,无论是在Tomcat、Apache还是IIS服务器上,启用GZIP压缩都是提升Web性能的有效手段,只需要根据各自服务器的配置方式进行适当调整。
这些操作对于希望优化Tomcat配置的开发者来说非常实用。 最后,如果读者在实施上述配置时遇到问题,可以留言询问。作者承诺会尽快回复,帮助读者解决问题。同时,作者对于支持其网站的读者表示感谢,并鼓励大家转载...
除了EhCache的内置功能,还有其他第三方库或框架如OSCache也提供了gzip压缩的支持,它们可能有不同的配置和使用方式,但原理类似,都是在缓存内容返回给客户端前进行压缩。 值得注意的是,虽然gzip压缩在大部分现代...
《深入解析Tomcat配置》 Tomcat是一款广泛应用的开源Java Servlet容器,它是Apache软件基金会Jakarta项目的一部分。作为Web服务器,Tomcat能够处理HTTP协议,支持Servlet和JSP技术,是开发和部署Java Web应用的理想...
### Tomcat配置优化知识点 ...以上内容涵盖了Tomcat配置优化的关键点,包括Gzip压缩、JVM参数优化、服务器参数设置、解决各种常见问题等。通过对这些配置项进行合理调整,可以显著提升Tomcat服务器的性能和稳定性。
本文主要介绍在Apache Tomcat服务器上配置和验证Gzip压缩是否生效的方法。 首先需要了解Tomcat中关于Gzip压缩的相关配置项,它们通常被设置在`conf/server.xml`文件中的`<Connector>`标签里。要启用Gzip压缩,需要...
1. **服务器配置**:大多数现代Web服务器(如Apache Tomcat、Jetty、IBM WebSphere等)都支持配置gzip压缩。通过修改服务器配置文件(如Tomcat的`server.xml`),我们可以开启gzip压缩并设置相应的参数,如最小压缩...
本文将深入探讨如何在Tomcat服务器上启用GZIP压缩以提高Web性能,并提供详细的过程图解。GZIP压缩是一种常见的HTTP协议支持的数据压缩机制,能够显著减少网络传输的数据量,从而加快网页加载速度,降低服务器带宽...
很多大站都开启了gzip压缩,不过也有很多网站并没有开启gzip压缩,上次看了一篇文章说开启gzip压缩后对搜索引擎不友好,但从带宽和流量的角度来看,还是有必要开启gzip压缩的。 对于tomcat7服务器,打开conf文件夹下...