Spring Boot开启静态资源的gzip压缩

需要在application.properties里启用压缩,并设置压缩支持的格式(默认支持text/html等,但不支持application/json)

server.compression.enabled=true
server.compression.mime-types=application/javascript,application/json,application/xml,text/html,text/xml,text/plain,text/javascript
默认情况下,仅会压缩2048字节以上的内容
server.compression.min-response-size=2048
上面设置压缩大于2048字节的文件

还需要在代码中设置如下:

@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
	registry.addResourceHandler("/static/**").addResourceLocations("/static/")
        .setCacheControl(CacheControl.maxAge(10, TimeUnit.MINUTES).cachePrivate())
	.resourceChain(true)
	.addResolver(new GzipResourceResolver());
	super.addResourceHandlers(registry);
}


如果在配置文件中配置了不生效,则需要设置上面的内容。

以上内容,详见 org.springframework.boot.context.embedded.Compression
以及 org.springframework.boot.autoconfigure.web.ServerProperties

评论 (0)