美文网首页
数据传输中的压缩方法

数据传输中的压缩方法

作者: 抬头看月亮 | 来源:发表于2018-09-29 19:50 被阅读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

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

    相关文章

      网友评论

          本文标题:数据传输中的压缩方法

          本文链接:https://www.haomeiwen.com/subject/kqiboftx.html