阿里云 CDN 开启 Brotli 教程

前言

对于CDN这种流量型产品来说,更高的压缩率意味着更低的传输带宽,也就意味着成本的降低。 目前阿里云CDN已经闷声不响的支持 Brotli 功能了。

介绍

Brotli 是由 Google 于 2015 年 9 月推出的无损压缩算法,Brotli 在瑞士德语中的意思是小面包(谷歌的命名貌似都是吃的)。

它通过用变种的 LZ77 算法,Huffman 编码和二阶文本建模进行数据压缩,是一种压缩比很高的压缩方法。 在压缩速度上跟 Deflate 差不多的同时却实现了更密集的压缩,对 Canterbury 资料库的压缩密度好于 LZMA 和 bzip2,与其他压缩算法相比,它有着更高的压缩效率。

目前 Brotli 已经广泛的用于 CDN 加速项目。

根据Google 发布的研究报告,Brotli 具有如下特点:

  1. 针对常见的 Web 资源内容,Brotli 的性能要比 Gzip 好 17-25%;
  2. Brotli 压缩级别为 1 时,压缩速度是最快的,而且此时压缩率比 gzip 压缩等级为 9(最高)时还要高;
  3. 在处理不同 HTML 文档时,brotli 依然提供了非常高的压缩率;

在兼容 GZIP 的同时,相较 GZIP:

  1. JavaScript 上缩小 14%
  2. HTML上缩小 21%
  3. CSS上缩小 17%

Brotli 的支持必须依赖 HTTPS,不过换句话说就是只有在 HTTPS 下才能实现 Brotli。

另外,除了 IE 和 Opera Mini 之外,几乎所有的主流浏览器都已支持 Brotli 算法,具体支持请看见下图:

效果

开启前:

开启后:

可以看到我博客的 jQuery 文件优化了 6.6 KB。

下面介绍的是阿里云CDN开启的方法,如果是ECS默认的Nginx、Apache 教程请参考:

Nginx 上部署 TLS1.3、Brotli、ECC双证书实践

ngx_brotli 已经不再需要编译依赖,附最新教程

LLStack – 基于LiteSpeed的一站式高性能PHP网站解决方案

开启

一、进入CDN管理控制台,https://www.aliyun.com/product/cdn

二、点击 域名管理 ,选择所需要开启的域名,点击 管理

三、点击 性能优化 选择 Brotli压缩

四、还可以通过 修改配置 ,输入需要的 压缩等级 即可

五、等缓存刷新后,就可以通过浏览器的开发者工具查看了。

content-encoding: gzip
content-encoding: br

content-encoding: br 即成功开启。

六、由于截至发文帮助文档还没有更新,能提供压缩的文件类型应该和 GZip 一致:

text/html、text/xml、text/plain、text/css、application/javascript、application/x-javascript application/rss+xml、text/javascript、image/tiff image/svg+xml、application/json、application/xmltext

七、前往CDN官网预付费购买流量包更优惠!

https://www.aliyun.com/product/cdn?source=5176.11533457&userCode=oitiwrd3&type=copy

地址:https://www.aliyun.com/product/cdn