[英]Gzip compression not working in my project with Spring boot 1.5.10.RELEASE
[英]Understanding Gzip Compression in Spring Boot ,Angular Java Application
我正在使用Spring Boot(v 1.2)和AngularJS应用程序。 我正在尝试在我们的应用程序中实现GZip压缩以提高性能。
我想压缩我的JSON响应。 我已经做了...
1.按如下所示在tomcat(嵌入式Spring Boot)中启用压缩。 参考:Stackoverflow ... 将GZIP压缩与带有RESTful和spring docs的Spring Boot / MVC / JavaConfig一起使用 ... https://docs.spring.io/spring-boot/docs/current/reference/html/howto-embedded- servlet-containers.html#how-to-enable-http-response-compression
@Bean
public EmbeddedServletContainerCustomizer servletContainerCustomizer() {
return new EmbeddedServletContainerCustomizer() {
@Override
public void customize(ConfigurableEmbeddedServletContainer servletContainer) {
((TomcatEmbeddedServletContainerFactory) servletContainer).addConnectorCustomizers(
new TomcatConnectorCustomizer() {
@Override
public void customize(Connector connector) {
AbstractHttp11Protocol httpProtocol = (AbstractHttp11Protocol) connector.getProtocolHandler();
httpProtocol.setCompression("on");
httpProtocol.setCompressionMinSize(256);
String mimeTypes = httpProtocol.getCompressableMimeTypes();
String mimeTypesWithJson = mimeTypes + "," + MediaType.APPLICATION_JSON_VALUE;
httpProtocol.setCompressableMimeTypes(mimeTypesWithJson);
}
}
);
}
};
}
现在,我的响应标头中缺少content-encoding:gzip 。 因此,到目前为止,上述代码没有任何影响 。 我的问题是... 1.如何在春季设置“ content-encoding:gzip”? ->我在像httpservletresponse.addHeader("content-encoding","gzip")
这样的spring控制器中尝试过
但是,这次, 响应体在浏览器中为空 (添加.. httpservletresponse.addHeader("content-encoding","gzip")
)
httpProtocol.setCompression("on");
类的压缩时httpProtocol.setCompression("on");
这是弹簧靴自动照顾的吗? ->是否需要创建servlet过滤器? 底线是 :我不清楚“普通servlet实现方式”和“ spring boot”实现方式之间。
在Spring Boot上下文中,任何人都可以列出所需的步骤和不需要的步骤吗?
我没有在Spring Boot 1.2中进行测试,但是在Spring Boot 1.3中要启用REST响应的压缩,您需要在application.properties
启用压缩:
server.compression.enabled=true
server.compression.mime-types=application/json,application/xml,application/javascript,text/html,text/xml,text/plain
之后,将压缩所有大于server.compression.min-response-size
可缓存(不是POST
, PUT
等)请求。
聚苯乙烯
作为响应,在RESTful中将GZIP压缩与Spring Boot / MVC / JavaConfig一起使用时,存在用于在Spring Boot 1.2中启用压缩的配置:
server.tomcat.compression: on
server.tomcat.compressableMimeTypes=application/json,application/xml,text/html,text/xml,text/plain
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.