【Spring Boot 实战】使用 HTTP 响应压缩优化接口性能
背景
最近在维护一个线上数据查询服务时,发现某个核心接口响应缓慢。经过排查发现:
- 接口平均响应数据量达到 50KB+(JSON格式)
- 未压缩情况下网络传输耗时占比 超过60%
- 移动端用户在高延迟网络下体验较差
// 示例响应数据结构
{
"code": 200,
"data": [
// 数百条包含多层嵌套的业务数据
]
}
解决方案
在 application.yml 中添加以下配置:
server:
compression:
enabled: true
mime-types:
- application/json
- application/xml
min-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接口
- 移动端应用场景
- 跨国/高延迟网络环境