Gzip压缩是一种用于减少HTTP响应大小的技术,方法是在通过网络发送之前对其进行压缩。默认情况下,在Spring Boot中禁用Gzip压缩,本章主要介绍如何在springboot中开启。
- 在Spring Boot中启用和配置Gzip压缩
server.compression.enabled=true
server.compression.mime-types=application/json,application/xml,text/html,text/xml,text/plain
server.compression.min-response-size=1024
server.compression.excluded-user-agents=MSIE 6.0,UCBrowser
配置项说明:
- server.compression.enabled: 是否启用压缩响应
- server.compression.mime-types:适用压缩响应的mime类型
- server.compression.min-response-size:适用压缩响应的最小返回数据长度即数据大小要大于该配置值才会触发压缩机制
- server.compression.excluded-user-agents:需要排除的用户代理,多个可以适用逗号分隔。
- 注意事项
Spring Boot中的压缩依赖于底层嵌入式服务器提供的支持。不幸的是,这些服务器不支持对通配符*,需要显示指定MIME类型。
- 测试
测试代码:
@RestController
public class GzipController {
@RequestMapping("test_gzip")
public String testGzip(){
StringBuilder sb = new StringBuilder();
for(int i=1;i<=512;i++){
sb.append("data1").append(",");
}
return sb.toString();
}
}
启动应用,访问服务,观察响应头Content-Encoding:zip,代表响应开启了压缩