我注意到一个奇怪的事情,似乎Firefox声称支持基于HTTPS的Brotli,但不支持基于HTTP的Brotli?由于Brotli类似于gzip但更高效,为什么要将其限制在HTTPS上呢?在一个HTTPS标签页上,我看到: Accept-encoding: gzip, deflate, br 被发送。但在其他网站上,我看不到br。它为什么不能使用Brotli压缩HTTP?
限制Brotli在安全上下文中的原因是,中介(特别是有缺陷的代理和内容扫描器)遇到非deflate/gzip Content-Encoding时往往表现非常糟糕。Google的工程师们在推出'sdch'和'bzip2'之前就发现了这一点;他们部分原因撤回了bzip2,而sdch则有许多必须加入的黑科技。通过要求使用HTTPS来使用Brotli,他们可以在大多数情况下防止这个问题,因为相对较少的内容扫描器MITM HTTPS流。摘自https://hacks.mozilla.org/2015/11/better-than-gzip-compression-with-brotli/