2015-07-19 51 views
1

我想gzip压缩添加到我的服务器(读写),我已经与(春季启动)试了一下:添加gzip的春天嵌入式的tomcat

server.tomcat.compression=on 
server.tomcat.compressableMimeTypes=application/json,application/xml,text/html,text/xml,text/plain 

但是当我的客户端发送:

 GZIPOutputStream gzip = new GZIPOutputStream(baos); 
     gzip.write(content.getBytes(Charset.forName("UTF8"))); 
     gzip.close(); 

页眉:

 Accept-Encoding" - "gzip" 
     "Content-Encoding" - "gzip" 

的数据仍然达到压缩的业务。 我错过了什么?

回答

1

我结束了使用现有的过滤器:

<dependency> 
     <groupId>net.sourceforge.pjl-comp-filter</groupId> 
     <artifactId>pjl-comp-filter</artifactId> 
     <version>1.7</version> 
    </dependency> 

,并增加了豆为它(新CompressingFilter())

如果任何人有同样的问题或知道它为什么不工作我很想知道的弹簧启动配置。

1

确保您的客户端发送正确的Content-Encoding头,没有它,Tomcat不会知道需要解压缩。见this answer for details

+0

这是正确的。 –

+0

你使用的是Spring Boot 1.2吗?也许你可以分享一个复制问题的项目。 –

+0

我使用的是spring boot 1.2.4(spring version 4.1.6) –