Format Atlas

对比

Brotli 与 gzip

Brotli 和 gzip 都是用于 HTTP 传输的无损压缩格式。Brotli 常用于 Web 内容压缩,gzip 则与现有工具保持广泛兼容。

应该选择哪种格式?

服务器和客户端协商 br 时,可尝试用 Brotli 压缩 Web 文本。旧工具或既有传输链路可考虑 gzip。检查 Accept-Encoding、Content-Encoding、缓存区分以及实际大小和速度。

适用于 Brotli

保存无损压缩数据流 · 为兼容的 HTTP 传输压缩内容

  • 服务器和客户端均支持 Brotli 时预压缩 Web 文本
  • 在支持 Brotli 的工具间交换压缩数据

适用于 GZIP

无损压缩文件或 tar 归档

  • Unix 发布包、日志和文本文件

基本信息

项目BrotliGZIP
扩展名.br.gz, .gzip
MIME 类型application/octet-streamapplication/gzip
常见用途保存无损压缩数据流 · 为兼容的 HTTP 传输压缩内容无损压缩文件或 tar 归档
打开方式使用支持 Brotli 的解压工具或库。发送预压缩文件时,对兼容请求设置 Content-Encoding: br,并检查文件命名、媒体类型和缓存配置。用支持 GZIP 的工具解压。对于 tar.gz,还需解开 tar 归档。
导出或转换转换为 gzip 或 zstd 时先解压再重新压缩。用校验和或内容比较验证输出,并测量大小、编码时间和接收端支持。不要仅凭 .br 扩展名推断 HTTP 标头或内容。转成 ZIP 或其他归档时,检查文件名、目录结构和解压后的内容。

按用途选择

服务器和客户端均支持 Brotli 时预压缩 Web 文本

保存无损压缩数据流 · 为兼容的 HTTP 传输压缩内容

Brotli

在支持 Brotli 的工具间交换压缩数据

保存无损压缩数据流 · 为兼容的 HTTP 传输压缩内容

Brotli

Unix 发布包、日志和文本文件

无损压缩文件或 tar 归档

GZIP

关键点 1

Brotli 由 RFC 7932 描述,gzip 由 RFC 1952 描述;HTTP 将它们作为不同的内容编码协商。

进一步了解差异

关键点 2

两种压缩流都不是多文件归档。仅凭 .br 或 .gz 扩展名无法判断实际使用的 HTTP 标头或编码。

进一步了解差异

进一步了解差异

根据客户端、服务器设置和实测负载选择。测试代表性内容,并确保缓存能区分采用不同内容编码的响应。

  • 两者均为无损压缩,但数据流格式不同,需要相应解码器。
  • Brotli 可用作 HTTP Content-Encoding: br,也可通过预压缩 .br 文件提供。gzip 在现有工具和系统中仍广泛受支持。
  • 大小和速度取决于内容、设置和实现,并非总有一方更优。重新压缩需要先解码再编码。

常见问题

Brotli 一定比 gzip 压得更小吗?

不一定。结果随内容和压缩设置而变化,应测量实际分发的页面或文件。

了解详情

参考资料与规范