springboot html压缩,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

Spring Boot 提供了一些内置的机制来方便地压缩静态资源,这有助于减少网络传输的带宽消耗,加快页面加载速度。以下是使用Spring Boot进行静态资源压缩的一般步骤: 1. **启用GZip支持**:Spring Boot 默认开启对HTTP请求的GZIP压缩,如果你还没有设置过,可以在`application.properties`或`application.yml`文件中添加以下内容: ```properties spring.http.multipart.enabled=true spring.http.multipart.max-file-size=10MB server.compression.enabled=true ``` 2. **配置资源处理器**:Spring Boot 自带了`org.springframework.boot.actuate.autoconfigure.web.server.ManagementWebSecurityAutoConfiguration`,它包含了对管理界面的支持,这可能导致静态资源被解压。为避免这种情况,你需要禁用默认的管理界面,或者自定义资源处理器来限制资源压缩。 3. **第三方库**:虽然Spring Boot本身提供了GZip压缩,但还可以使用其他库增强这一功能,比如`spring-boot-starter-web`模块下的`spring-boot-starter-tomcat`,它自带了一个Tomcat服务器,可以配合第三方插件如`compressing-proxy-servlet-filter`来进一步压缩。 4. **部署配置**:在生产环境部署时,确认应用容器(如Jenkins、Docker等)的配置已正确设置GZip支持,比如Apache Tomcat、Jetty或Nginx等。 通过上述设置,Spring Boot 应该能够自动压缩静态资源。如果你发现某些资源未被压缩,可能需要检查对应的路径是否正确,以及过滤规则是否生效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值