Brotli是什么鬼?
2016 年 5 月 17 日
沉迷于工作太久,以至于对新技术的了解已经开始落后了,比如 Brotli,第一感觉是:这是什么鬼?
Brotli是什么鬼?
简而言之: Brotli就是一个类似Gzip的压缩算法
Brotli 是Google 工程师 Jyrki Alakuijala 和 Zoltán Szabadka 开发的一个压缩算法。Brotli最早被用于做压缩 WOFF2 网络字体的大小,后来才被用作网站静态内容压缩。
时间轴
- 2013年,Brotli第一个版本被用来压缩 WOFF2 网络字体
- 2015年, Google 推出重写了编码器版本的 Brotli,并将之作为 HTTP压缩的增强工具
- 2016年, IETF将 Brotli 列为标准草案( RFC 7932 )
Brotli 比Gzip更强吗?
是的
Javascript : 比 gzip小 14%
HTML : 比 gzip小 21%
CSS : 比 gzip小 17%
Brotli 是万能的吗?
当然不是
Brotli对静态内容效果很好,但对于动态压缩效果并不太好:

根据 OpenCPU – Compression Benchmarks: brotli, gzip, xz, bz2 的测试结果,Brotli 的压缩时间比gzip要大太多!
所以对于需要实时压缩的内容,Brotli是非常不适合的。
现在能用了吗?
能!
浏览器支持
看图:

服务器支持
ngx_brotli mod_brotli
check是否启用
请求时在 Accept-Encoding
加上 br
:
Accept-Encoding: gzip, deflate, br
如果服务器支持,则会返回:
Content-Encoding: br
有什么需要注意的?
Brotli 只支持 HTTPS!
Brotli 只支持 HTTPS!
Brotli 只支持 HTTPS!