Brotli 資料流 (.br)

IETF 標準

Brotli 是 Google 開發的開源無損資料壓縮演算法,專為網頁排版(WOFF2)與 HTTP 內容編碼(Content-Encoding: br)進行最佳化,以加快網頁傳輸速度。

將 BROTLI 轉換為 GZIP

免費的瀏覽器端 BROTLI 轉 GZIP 轉換器。在您的裝置上即時轉換檔案。

檢查與中繼資料

作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 Brotli 檔案:

在這裡選擇或拖放檔案

私密 - 檔案絕不會離開您的裝置

或貼上 Ctrl+V
零網路傳輸隱私保證: 0 位元組上傳至外部伺服器。所有處理皆在本機瀏覽器沙箱中進行。

位元組層級標頭簽章(檔案簽章)

作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 Brotli 檔案:

十六進位簽章(偏移量 0):

CE B2 CF 81

ASCII 表示法: βÏ\x81

標準化: IETF RFC 7932

技術規格

容器架構具有選擇性視窗大小宣告與中繼區塊的原始位元串流分框
壓縮LZ77 滑動字典(最高 16 MB)、二階內容建模,以及 120 KB 靜態字典
位元組序小端序位元封包
色彩空間不適用(資料壓縮串流)
色版與結構通用位元組串流壓縮
最大尺寸任意位元組串流長度(支援無限串流)
透明度無損且位元組完全一致的來回資料保留
串流與漸進式後設區塊(meta-block)分塊允許持續的 HTTP 分塊傳輸串流

技術比較矩陣: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.app 在本機解壓縮。

安全性分析與解析器攻擊向量

Brotli 的靜態字典與內容建模需要針對格式錯誤的往回參照進行嚴格的記憶體界線檢查。

已知攻擊向量

  • 當參照超出表格大小的靜態字典位移時,會發生超出範圍的指標讀取。
  • 解壓縮炸彈(相當於 zip 炸彈),透過極小的負載耗盡使用者端記憶體。
  • 滑動視窗環形緩衝區調整大小期間發生緩衝區溢位。

防禦最佳實務: 在解壓縮不受信任的 Brotli 串流時,強制執行最大的輸出緩衝區大小。

歷史起源與里程碑

2016IETF 將 Brotli 發布為 RFC 7932,確立其成為廣泛使用的 HTTP 內容編碼。
2015Google 將 Brotli 重新定位為 Gzip 的通用 HTTP 網路壓縮替代方案。
2013Google 工程師 Jyrki Alakuijala 與 Zoltán Szabadka 引入 Brotli,用於 WOFF2 網頁字型壓縮。

主要優勢與優點

  • 在 HTML、CSS 與 JavaScript 網路資產上的壓縮率比 Gzip 高出 15% 到 25%。
  • 內建預先定義的 120 KB 靜態字典,包含常見的網路字詞、HTML 標籤與片語。
  • 極快的解壓縮速度,確保能在瀏覽器端幾乎瞬間完成頁面算繪。

技術限制與缺點

  • 等級 11 的壓縮需要消耗大量運算資源(最適合用於靜態資產預壓縮)。
  • 在所有網頁瀏覽器中均需強制使用 HTTPS,以防範透明代理伺服器損壞資料。
  • 原始的 .br 檔案若沒有外部容器化,會缺少內嵌的檔名或權限標頭。

有趣的技術冷知識

  • Brotli 的名稱取自瑞士德語的「Brötli」,意思是「小麵包」。
  • Brotli 內部的 120 KB 靜態字典包含數千個常見的英文、西班牙文、德文、中文與 HTML 片段。
  • Brotli 受到各大網頁伺服器與瀏覽器的支援,但其流量佔比會因服務與回應類型而異。

常見技術問題

為什麼 Brotli 用於網站時比 Gzip 更快?

在某些情況下,Brotli 可以產生比 Gzip 更小的網頁文字檔案,但實際差異取決於內容、壓縮設定與實作方式。

為什麼 Brotli 需要 HTTPS?

網頁瀏覽器僅支援透過安全的 HTTPS 連線使用 Brotli,因為網際網路上的舊版透明代理伺服器會誤解或損毀新的「br」編碼。

如何解壓縮 .br 檔案?

您可以直接在網頁瀏覽器中使用 File2File.app,立即將 .br 或 .brotli 檔案解壓縮為純文字或原始檔案。