zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    VMware Tools的安装
    XmlSerializer
    string[][]和string[,] 以及 int[][]和int[,]
    Get Length 使用dynamic关键字
    Cocos2d-x 3.0final 终结者系列教程01-无论是从cocos2d-x2.x升级到版本cocos2d-x3.x
    Hosting WCF Service
    A*算法进入
    OpenCV面、人眼检测
    JAVA学习篇--JAVA两种编程模式控制
    采用Java语言如何实现高速文件复制?
  • 原文地址:https://www.cnblogs.com/lcword/p/15118847.html
Copyright © 2011-2022 走看看