【Spring Boot 实战】使用 HTTP 响应压缩优化接口性能
背景
最近在维护一个线上数据查询服务时,发现某个核心接口响应缓慢。经过排查发现:
- 接口平均响应数据量达到 50KB+(JSON格式)
- 未压缩情况下网络传输耗时占比 超过60%
- 移动端用户在高延迟网络下体验较差
// 示例响应数据结构
{"code": 200,"data": [// 数百条包含多层嵌套的业务数据]
}
解决方案
在 application.yml 中添加以下配置:
server:compression:enabled: truemime-types: - application/json- application/xmlmin-response-size: 2048
配置说明
配置项 | 作用 |
---|---|
enabled: true | 开启响应压缩功能(默认false ) |
mime-types | 指定需要压缩的响应类型,如:application/json , text/html 等 |
min-response-size | 响应体大小超过该值(单位:字节)才会压缩,默认2048 (2KB) |
注意事项
- 客户端需要在请求头中携带 Accept-Encoding: gzip(现代浏览器和 HTTP 库默认支持)。
- min-response-size 可根据自己的实际业务场景进行调整,避免得不偿失
总结
最后我们通过启用 HTTP 压缩这个简单优化,我们以近乎零成本的方式显著提升了接口性能。这种方案特别适合:
- 大数据量API接口
- 移动端应用场景
- 跨国/高延迟网络环境