Brotliストリーム (.br)

IETF 標準

BrotliはGoogleによって開発されたオープンソースの可逆データ圧縮アルゴリズムであり、インターネットページの配信を高速化するために、特にWebタイポグラフィ(WOFF2)およびHTTPコンテンツエンコーディング(Content-Encoding: br)向けに最適化されています。

BROTLI を GZIP に変換

無料のブラウザ内 BROTLI から GZIP へのコンバーター。お使いのデバイスでファイルを即座に変換します。

調査とメタデータ

オペレーティングシステムやファイル解析ツールは、先頭のバイナリ列を検査してBrotliファイルを識別します:

ファイルを選択するか、ここにドロップしてください

プライベート - ファイルがデバイスの外に出ることはありません

または貼り付け Ctrl+V
ネットワーク送信ゼロのプライバシー保証: 外部サーバーへのデータ送信は0バイトです。すべての処理はお使いのブラウザのサンドボックス内でローカルに実行されます。

バイトレベルのヘッダーシグネチャ (マジックバイト)

オペレーティングシステムやファイル解析ツールは、先頭のバイナリ列を検査してBrotliファイルを識別します:

16進数シグネチャ(オフセット0):

CE B2 CF 81

ASCII表現: βÏ\x81

標準化: IETF RFC 7932

技術仕様

コンテナアーキテクチャウィンドウサイズ宣言とメタブロックを任意で含む生ビットストリームのフレーミング
圧縮最大16 MBのLZ77スライディング辞書、二次コンテキストモデリング、固定120 KB辞書
バイトエンディアンリトルエンディアンのビットパッキング
色空間該当なし(データ圧縮ストリーム)
チャンネルと構造汎用バイトストリーム圧縮
最大寸法任意の長さのバイトストリーム(長さの上限がないストリーミングに対応)
透過性データを可逆圧縮し、展開後にバイト単位で完全に復元
ストリーミングとプログレッシブメタブロック分割により、HTTPチャンク転送で連続ストリーミング可能

技術比較表:Brotliと競合製品

技術属性Brotli (現在)GZZSTDDEFLATE
組み込み静的辞書120 KBのWeb辞書が含まれていますなし(動的のみ)ユーザー訓練可能な辞書なし(動的のみ)
Web圧縮(Gzipと比較)Gzipよりも15%~25%小さいベースライン標準(Gzip)Gzipよりも10%~20%小さいベースラインDeflate
HTTPコンテンツエンコーディング「Content-Encoding: br」「Content-Encoding: gzip」「Content-Encoding: zstd」「Content-Encoding: deflate」
主な設計目標WebテキストとWebフォントの転送一般的なUnixファイル圧縮リアルタイムデータベースとデータ取り込み基礎的な圧縮アルゴリズム

一般的な破損モードと16進数リカバリガイド

ブラウザが「ERR_CONTENT_DECODING_FAILED」でリソースの読み込みに失敗する。

根本原因: プロキシまたはサーバーが、最後のメタブロックが送信される前にBrotliストリームを途中で切断しました。

復旧: ブラウザキャッシュをクリアし、サーバーの圧縮設定を確認するか、File2File.app経由でローカルに解凍します。

セキュリティ分析とパーサー攻撃ベクトル

Brotliの静的辞書とコンテキストモデリングでは、不正なバックレファレンスに対する厳格なメモリ境界チェックが必要です。

既知の攻撃ベクター

  • テーブルサイズを超える静的辞書オフセットを参照する際の範囲外ポインタ読み取り。
  • 小さなペイロードからクライアントメモリを枯渇させる解凍爆弾(zip爆弾の同等物)。
  • スライディングウィンドウリングバッファのサイズ変更中のバッファオーバーフロー。

防御的ベストプラクティス: 信頼されていないBrotliストリームの解凍中に、最大出力バッファサイズを適用します。

歴史的背景とマイルストーン

2016IETFがBrotliをRFC 7932.
2015Googleは、Gzipの汎用HTTP Web圧縮の代替としてBrotliを再利用しました。
2013GoogleのエンジニアであるJyrki AlakuijalaとZoltán Szabadkaが、WOFF2 Webフォント圧縮のためにBrotliを導入しました。

主なメリット

  • HTML、CSS、およびJavaScriptのWebアセットにおいて、Gzipよりも15%~25%優れた圧縮率。
  • 一般的なWeb単語、HTMLタグ、およびフレーズの事前定義された120 KBの静的辞書を組み込んでいます。
  • 極めて高速な解凍速度により、クライアント側でのほぼ瞬時のページレンダリングを保証します。

技術的な制限とデメリット

  • レベル11での圧縮は計算コストが高くなります(静的アセットの事前圧縮に最適です)。
  • 透過プロキシの破損を防ぐため、すべてのWebブラウザでHTTPSが必要です。
  • 生の.brファイルには、外部コンテナ化なしでは埋め込みファイル名やパーミッションヘッダーがありません。

興味深い技術トリビア

  • Brotliという名前は、スイスドイツ語で「小さなパン」を意味する「Brötli」にちなんで名付けられました。
  • Brotli内の静的120 KB辞書には、何千もの一般的な英語、スペイン語、ドイツ語、中国語、およびHTMLのスニペットが含まれています。
  • Brotliは主要なウェブサーバーやブラウザーでサポートされていますが、トラフィックに占める割合はサービスやレスポンスの種類によって異なります。

よくある技術的な質問

ウェブサイトにおいてBrotliがGzipよりも高速なのはなぜですか?

BrotliはHTML、CSS、JSファイルをGzipよりも20%小さく圧縮しつつ、同等の速度で解凍できるため、セルラーネットワーク経由で必要なラウンドトリップ数を減らすことができます。

BrotliがHTTPSを必須とするのはなぜですか?

インターネット上のレガシーな透過プロキシが新しい「br」エンコーディングを誤って解釈または破損させる可能性があるため、WebブラウザはセキュアなHTTPS接続上でのみBrotliをサポートしています。

.brファイルを解凍するにはどうすればよいですか?

File2File.appを使用すれば、ウェブブラウザ上で直接、.brや.brotliファイルをプレーンテキストや元のファイルに即座に解凍できます。