• Content-Encoding:br 是一种什么编码格式?


    一.前言

    在之前测试HTTP应答的压缩过程中无意间发现在Google浏览器下出现了 Content-Encoding:br 这种的编码格式,当时我就纳闷了,前面不是一直在研究GZip压缩吗?br压缩又是什么鬼?查了一圈资料才发现 br 居然是比 Gzip 压缩率更高的算法,接下来我们就来具体看看。

    二.什么是br(Brotli)算法

    Google 认为互联网用户的时间是宝贵的,他们的时间不应该消耗在漫长的网页加载中,因此在 2015 年 9 月 Google 推出了无损压缩算法 Brotli。Brotli 通过变种的 LZ77 算法、Huffman 编码以及二阶文本建模等方式进行数据压缩,与其他压缩算法相比,它有着更高的压塑压缩效率。启用 Brotli 压缩算法,对比 Gzip 压缩 CDN 流量再减少 20%。

    根据 Google 发布的研究报告,Brotli 压缩算法具有多个特点,最典型的是以下 3 个:

    • 针对常见的 Web 资源内容,Brotli 的性能相比 Gzip 提高了 17-25%;
    • 当 Brotli 压缩级别为 1 时,压缩率比 Gzip 压缩等级为 9(最高)时还要高;
    • 在处理不同 HTML 文档时,Brotli 依然能够提供非常高的压缩率。

    Brotli 凭借它优异的压缩性能迅速占领了市场,从下图可以看到,除了 IE 和 Opera Mini 之外,几乎所有的主流浏览器都已支持 Brotli 算法。

    三.如何使用Brotli算法

    和 Gzip 压缩算法一样,Brotli 压缩算法也是免费开放给又拍云 CDN 平台上的所有用户,同时该特性已默认开启。

    使用又拍云 CDN Brotli 压缩算法需要同时满足三个条件:

    • Content-Type 满足如下 MIME 列表:
    复制代码
    复制代码
    text/plain
    text/javascript
    text/css
    text/xml
    text/x-component
    application/javascript
    application/x-javascript
    application/xml
    application/json
    application/xhtml+xml
    application/rss+xml
    application/atom+xml
    application/x-font-ttf
    application/vnd.ms-fontobject
    image/svg+xml
    image/x-icon
    font/opentype
    text/html -- default
    复制代码
    复制代码
    • Content-Length 大于 256 字节
    • 客户端请求头需携带 Accept-Encoding: br
  • 相关阅读:
    递归
    lecture-11
    最近公共祖先LCA
    微软面试100题
    0-1背包问题
    ubuntu网络已禁用解决办法
    cors(cross-resource-oragin-sharing 跨域资源共享) 解决跨域问题
    本地修改域名对应的IP地址
    oracle 解锁用户被锁住
    oracle 改变表中 某列的数据类型(该列已有数据)
  • 原文地址:https://www.cnblogs.com/lcword/p/15118847.html
Copyright © 2020-2023  润新知