首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringCloud-Gzip[压缩介绍]

SpringCloud-Gzip[压缩介绍]

作者头像
用户4919348
发布2019-06-11 19:34:03
3.7K1
发布2019-06-11 19:34:03
举报
文章被收录于专栏:波波烤鸭波波烤鸭

  在数据传输过程中压缩数据肯定是必须的,而gzip是我们比较常用的方式,而且我们在刚刚接触http协议的时候就介绍过gzip。本文我们来看下在微服务环境下我们怎么通过gzip来压缩数据。

一、gzip 介绍

  gzip是一种数据格式,采用用 deflate 算法压缩 data;gzip 是一种流行的文件压缩算法,应用十分广泛,尤其是在 Linux 平台。

gzip 能力:

  当 Gzip 压缩到一个纯文本文件时,效果是非常明显的,大约可以减少 70%以上的文件大小。

gzip 作用:

  网络数据经过压缩后实际上降低了网络传输的字节数,最明显的好处就是可以加快网页加载的速度。网页加载速度加快的好处不言而喻,除了节省流量,改善用户的浏览体验外,另一个潜在的好处是 Gzip 与搜索引擎的抓取工具有着更好的关系。例如 Google就可以通过直接读取 gzip 文件来比普通手工抓取 更快地检索网页。

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

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

三、编写支持 Gzip 压缩案例

案例结构

在这里插入图片描述
在这里插入图片描述

1.配置consumer到provider的压缩

  配置consumer通过feign调用provider中的服务的压缩操作。

在这里插入图片描述
在这里插入图片描述
#-----------------------------feign gzip
#配置请求 GZIP 压缩
feign.compression.request.enabled=true
#配置响应 GZIP 压缩
feign.compression.response.enabled=true
#配置压缩支持的 MIME TYPE
feign.compression.request.mime-types=text/xml,application/xml,application/json
#配置压缩数据大小的最小阀值,默认 2048
feign.compression.request.min-request-size=512

2.配置浏览器到consumer的压缩

  配置浏览器发送请求到consumer的数据压缩及响应的压缩。

在这里插入图片描述
在这里插入图片描述
#-----------------------------spring boot gzip
#是否启用压缩
server.compression.enabled=true
server.compression.mime-types=application/json,application/
xml,text/html,text/xml,text/plain

F12查看

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年06月09日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、gzip 介绍
    • gzip 能力:
      • gzip 作用:
      • 二、HTTP协议中关于压缩传输的规定
      • 三、编写支持 Gzip 压缩案例
        • 1.配置consumer到provider的压缩
          • 2.配置浏览器到consumer的压缩
          相关产品与服务
          文件存储
          文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档