gzip是一种数据格式,采用用deflate算法压缩数据;gzip是一种流行的数据压缩算法,应用十分广泛,尤其是在Linux平台。
当GZIP压缩到一个纯文本数据时,效果是非常明显的,大约可以减少70%以上的数据大小。
网络数据经过压缩后实际上降低了网络传输的字节数,最明显的好处就是可以加快网页加载的速度。
1、Gzip压缩过程:
- 客户端向服务器请求头中带有:
Accept-Encoding:gzip,deflate 字段,向服务器表示,客户端支持的压缩格式(gzip或者deflate),如果不发送该消息头,服务器是不会压缩的。
- 服务端在收到请求之后,如果发现请求头中含有
Accept-Encoding字段,并且支持该类型的压缩,就对响应报文压缩之后返回给客户端,并且携带
Content-Encoding:gzip消息头,表示响应报文是根据该格式压缩过的。
- 客户端接收到响应之后,先判断是否有Content-Encoding消息头,如果有,按该格式解压报文。否则按正常报文处理。
2、OpenFeign 压缩过程
仅限红色框中的过程存在Gzip压缩
3、开启配置
feign:
## 开启压缩
compression:
request:
enabled: true
## 开启压缩的阈值,请求体大小,单位字节,默认2048,即是2k,这里为了演示效果设置成10字节
min-request-size: 10
mime-types: text/xml,application/xml,application/json
response:
enabled: true
useGzipDecode: true