Feign-Gzip介绍及Http协议中的传输规则

一)GZIP的压缩文件的介绍

1 gzip 介绍

gzip 介绍:gzip 是一种数据格式,采用用 deflate 算法压缩 data;gzip 是一种流行的文件 压缩算法,应用十分广泛,尤其是在 Linux 平台。
gzip 能力:当 Gzip 压缩到一个纯文本文件时,效果是非常明显的,大约可以减少 70% 以上的文件大小。
gzip 作用:网络数据经过压缩后实际上降低了网络传输的字节数,最明显的好处就是可 以加快网页加载的速度。网页加载速度加快的好处不言而喻,除了节省流量,改善用户的浏 览体验外,另一个潜在的好处是 Gzip 与搜索引擎的抓取工具有着更好的关系。例如 Google 就可以通过直接读取 gzip 文件来比普通手工抓取 更快地检索网页。
在这里插入图片描述

2 HTTP 协议中关于压缩传输的规定

第一:客户端向服务器请求中带有:Accept-Encoding:gzip, deflate 字段,向服务器表示, 客户端支持的压缩格式(gzip 或者 deflate),如果不发送该消息头,服务器是不会压缩的。
第二:服务端在收到请求之后,如果发现请求头中含有 Accept-Encoding 字段,并且支 持该类型的压缩,就对响应报文压缩之后返回给客户端,并且携带 Content-Encoding:gzip 消 息头,表示响应报文是根据该格式压缩过的。
第三:客户端接收到请求之后,先判断是否有 Content-Encoding 消息头,如果有,按该 格式解压报文。否则按正常报文处理。
服务器没有做压缩的响应头

在这里插入图片描述

服务器有做压缩的响应头

在这里插入图片描述

三)Feign实现响应GZip压缩

1.实现Customer和Provider之间的请求和响应进行GZIP压缩
在全局配置文件内添加指定的选项即可实现Customer和Provider之间的GZIP格式的压缩
修改Customer到Provider之间的请求和响应的数据压缩

server:
  port: 9092
spring:
  application:
    name: 15-feign-customer
eureka:
  client:
    service-url:
      defaultZone: http://peer1:8081/eureka/,http://peer2:8082/eureka/,http://peer3:8083/eureka/
#修改Customer到Provider之间的请求和相应的数据压缩
feign:
  compression:
    request:
      enabled: true #开始请求的压缩
      min-request-size: 512 #数据超过多少的大小需要进行压缩
      mime-types: text/xml,application/xml,application/json #需要压缩的文件类型
    response: #开启响应的压缩
      enabled: true

2.配置全局的数据压缩和响应

#配置全局的数据压缩
compression:
  enabled: true
  mime-types: =application/json,application/xml,text/html,text/xml,text/plain

3.测试压缩

请求

在这里插入图片描述

响应已经进行了压缩

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值