![](/img/trans.png)
[英]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.