数据传输中的压缩方法

2018-09-29  本文已影响0人  抬头看月亮

网页响应速度往往是决定是否能留住用户的一个重要因素。试想用户发起一个请求后,等半天都看不到结果,是多么气愤:)
(是的,随着互联网技术进步,大家都越来越没耐心等待:P)

而影响网页响应速度的一个潜在重要点是数据量,几M的数据传输起来,必然是要几秒钟的。这时候我们必须要对数据进行压缩。

数据压缩,首先想到的是,原数据本身进行压缩,比较常见的是js和css的压缩,也就是说,我们引用的就是压缩后的js和css。

另外就是,数据传输过程中的压缩。服务器从数据库或者其他service拿到数据时,由服务器进行压缩后返回给浏览器,浏览器自行解压。

有人可能会问,浏览器还能自行解压?看看下面的图,Request Headers里面写了接受gzip形式哦。

image.png

那现在的问题是,我们如何将数据压缩一下,整成gzip形式给到前端呢?

如果你用的是tomcat:

  1. 找到server.xml,进行编辑
  2. 找到你的port设置处,加上gzip相关设置命令(compression="on" compressionMinSize="500" compressableMimeType="text/plain"),如下:


    tomcat中的设置

这些属性我就不多加解释,都可以百度到

如果你用的是nginx:

在http体里加上如下语句:

gzip on;
gzip_min_length 100k;
gzip_buffers 4 16k;
gzip_types application/x-javascript text/javascript application/javascript image/gif application/json;
gzip_comp_level 3;
gzip_vary on;

nginx中的设置

那现在我们看看设置后,返回的response是怎样的:

注意看response header

Content-Encoding是gzip

好啦,暂且介绍到这里,希望可以帮助到你

上一篇下一篇

猜你喜欢

热点阅读