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
  • 相关阅读:
    最近面试有感,不要耍小聪明,面试官都是开了上帝视角的
    Mac OS X上编写 ASP.NET vNext 系列中断和再开声明
    Mac OS X 上编写 ASP.NET vNext (二) IDE配置
    Mac OS X上编写 ASP.NET vNext(一)KRE环境搭建
    Redhat Linux /etc/profile 与 /etc/bashrc 的区别
    IIS7 Application Pool Integrate Mode 和 Classic Mode 的区别
    Linux 学习笔记(一) 入门
    SQL Server 常用分页SQL
    winform 如何控制输入法
    winform 记录全局异常捕获
  • 原文地址:https://www.cnblogs.com/wcrBlog/p/11805506.html
Copyright © 2011-2022 走看看