文章目录


1、gzip是什么?

gzip是一种数据格式,采用deflate算法为进行数据压缩;gzip是一种非常流行的文件压缩算法,在Linux平台再是平常不过了。

这都2021年了,还不会Feign性能调优?Feign性能调优之gzip压缩实现-自娱自乐篇_客户端

2、gzip有多恐怖?

当gzip压缩一个纯文本文件时,大约可以减少7成以上的文件大小;从这你就可以看出压缩能力多强悍,这样一来加快了网页加载的速度,提高了用户体验。当然Gzip与Google搜索引擎有着更好的关系。

这都2021年了,还不会Feign性能调优?Feign性能调优之gzip压缩实现-自娱自乐篇_xml_02

3、HTTP协议的压缩传输规则

1、客户端向服务器的请求中带有Accept-Encoding:gzip,deflate字段,向服务器表示支持的压缩格式;如果不发送,服务端是不会进行压缩的。

2、服务端在收到请求时,会判断请求头是否有Accept-Encoding:gzip字段,如果有就会对响应的报文压缩之后返回给客户端,并且会携带Content-Encoding:gzip的消息头。

3、客户端收到请求时,会先判断是否有Content-Encoding消息头,如果有会按照该格式解压。

4、gzip具体代码操作

代码接上文

OpenFeign入门神级篇,字里行间透露出一种睥(pi)睨天下的气势,你还不首当其冲

1、全局

server:
port: 9091
compression:
enabled: true
mime-types: application/json,application/xml,text/xml,text/xml,text/plain

这都2021年了,还不会Feign性能调优?Feign性能调优之gzip压缩实现-自娱自乐篇_服务端_03


这都2021年了,还不会Feign性能调优?Feign性能调优之gzip压缩实现-自娱自乐篇_xml_04

2、局部

feign:
compression:
request:
enabled: true
mime-types: text/xml,application/xml,application/json #配置支持压缩的类型
min-request-size: 512 #配置压缩的最小阈值
response:
enabled: true #响应是否开启压缩

这都2021年了,还不会Feign性能调优?Feign性能调优之gzip压缩实现-自娱自乐篇_服务端_05