Brotli 流 (.brotli)

IETF 标准

Brotli 是由 Google 开发的开源无损数据压缩算法,专门针对网页排版(WOFF2)和 HTTP 内容编码(Content-Encoding: br)进行了优化,以加速互联网页面传输。

将 BROTLI 转换为 GZIP

免费的浏览器端 BROTLI 转 GZIP 转换器。在您的设备上即时转换文件。

检查与元数据

操作系统和文件分析器通过检查开头的二进制字节序列来识别 Brotli 文件:

选择或将文件拖放到此处

100% 浏览器端私密转换 - 文件绝不会离开您的设备

或粘贴 Ctrl+V
零网络传输隐私保证: 上传至外部服务器的数据为 0 字节。所有处理均在您的浏览器沙箱中本地完成。

字节级文件头签名 (Magic Bytes)

操作系统和文件分析器通过检查开头的二进制字节序列来识别 Brotli 文件:

十六进制签名 (偏移量 0):

CE B2 CF 81

ASCII 表示形式: βÏ\x81

标准化: IETF RFC 7932

技术规格

容器架构Raw bitstream framing with optional window size declaration and meta-blocks
压缩方式LZ77 sliding dictionary (up to 16 MB), second-order context modeling, and static 120 KB dictionary
字节序Little-Endian bit-packing
色彩空间N/A (Data Compression Stream)
通道与结构General-purpose byte stream compression
最大尺寸Arbitrary byte stream length (supports unbounded streaming)
透明度Lossless byte-for-byte exact roundtrip data preservation
流式传输与渐进式加载Meta-block chunking allows continuous HTTP chunked transfer streaming

技术对比矩阵:Brotli 对比同类产品

技术属性Brotli (当前)GZZSTDDEFLATE
内置静态字典包含 120 KB 网页字典无(仅动态)用户可训练字典无(仅动态)
网页压缩(对比 Gzip)比 Gzip 小 15% - 25%基准标准(Gzip)比 Gzip 小 10% - 20%基准 Deflate
HTTP 内容编码'Content-Encoding: br''Content-Encoding: gzip''Content-Encoding: zstd''Content-Encoding: deflate'
主要设计目标网页文本与网页字体传输通用 Unix 文件压缩实时数据库与数据摄入基础压缩算法

常见损坏模式与十六进制恢复指南

浏览器加载资源失败,报错 'ERR_CONTENT_DECODING_FAILED'。

根本原因: 代理或服务器在传输最终元块之前截断了 Brotli 流。

恢复方法: 清除浏览器缓存,检查服务器压缩设置,或通过 File2File 在本地解压。

安全分析与解析器攻击向量

Brotli 的静态字典和上下文建模需要对畸形的反向引用进行严格的内存边界检查。

已知攻击向量

  • 当引用超出表大小的静态字典偏移量时发生越界指针读取。
  • 解压炸弹(ZIP 炸弹等效项),由微小有效负载耗尽客户端内存。
  • 滑动窗口环形缓冲区调整大小期间的缓冲区溢出。

防御性最佳实践:

历史渊源与里程碑

2016IETF 将 Brotli 发布为 RFC 7932,促使 HTTP 网页浏览器实现通用采用。
2015Google 将 Brotli 重新定位为 Gzip 的通用 HTTP 网页压缩替代方案。
2013Google 工程师 Jyrki Alakuijala 和 Zoltán Szabadka 引入 Brotli 用于 WOFF2 网页字体压缩。

核心优势与特点

  • 在 HTML、CSS 和 JavaScript 网页资源上,比 Gzip 具有高出 15% 至 25% 的压缩率。
  • 内含包含常见网页词汇、HTML 标签和短语的预定义 120 KB 静态字典。
  • 极快的解压速度,确保近乎即时的客户端页面渲染。

技术局限与劣势

  • 级别 11 的压缩计算开销较大(最适合静态资源预压缩)。
  • 在所有网页浏览器中都需要 HTTPS,以防止透明代理损坏。
  • 原始的 .br 文件在没有外部容器化的情况下缺少嵌入式文件名或权限头部。

趣味技术冷知识

  • Brotli 得名于"Brötli",在瑞士德语中意为"小面包"。
  • Brotli 内部的 120 KB 静态字典包含数千个常见的英语、西班牙语、德语、中文和 HTML 片段。
  • Cloudflare、Fastly 和 Google 上超过 95% 的现代互联网流量都使用 Brotli 压缩交付。

常见技术问题

为什么对于网站而言 Brotli 比 Gzip 更快?

Brotli 将 HTML、CSS 和 JS 文件的压缩率比 Gzip 进一步缩小 20%,同时解压速度相近,从而减少了蜂窝网络所需的往返传输次数。

为什么 Brotli 需要 HTTPS?

网页浏览器仅支持通过安全的 HTTPS 连接传输 Brotli,因为互联网上的传统透明代理可能会误解或破坏新的 'br' 编码。

如何解压 .br 文件?

你可以直接在网页浏览器中使用 File2File.app,瞬间将 .br 或 .brotli 文件解压为纯文本或原始文件。