Brotliストリーム (.brotli)
IETF 標準BrotliはGoogleによって開発されたオープンソースの可逆データ圧縮アルゴリズムであり、インターネットページの配信を高速化するために、特にWebタイポグラフィ(WOFF2)およびHTTPコンテンツエンコーディング(Content-Encoding: br)向けに最適化されています。
BROTLI を GZIP に変換
無料のブラウザ内 BROTLI から GZIP へのコンバーター。お使いのデバイスでファイルを即座に変換します。
調査とメタデータ
オペレーティングシステムやファイル解析ツールは、先頭のバイナリバイトシーケンスを検査することで Brotli ファイルを識別します:
バイトレベルのヘッダーシグネチャ (マジックバイト)
オペレーティングシステムやファイル解析ツールは、先頭のバイナリバイトシーケンスを検査することで Brotli ファイルを識別します:
16進数シグネチャ (オフセット 0):
CE B2 CF 81ASCII表現: βÏ\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 (現在) | GZ | ZSTD | DEFLATE |
|---|---|---|---|---|
| 組み込み静的辞書 | 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経由でローカルに解凍します。
セキュリティ分析とパーサー攻撃ベクトル
Brotliの静的辞書とコンテキストモデリングでは、不正なバックレファレンスに対する厳格なメモリ境界チェックが必要です。
既知の攻撃ベクター
- テーブルサイズを超える静的辞書オフセットを参照する際の範囲外ポインタ読み取り。
- 小さなペイロードからクライアントメモリを枯渇させる解凍爆弾(zip爆弾の同等物)。
- スライディングウィンドウリングバッファのサイズ変更中のバッファオーバーフロー。
防御的ベストプラクティス:
歴史的背景とマイルストーン
主な利点とメリット
- HTML、CSS、およびJavaScriptのWebアセットにおいて、Gzipよりも15%~25%優れた圧縮率。
- 一般的なWeb単語、HTMLタグ、およびフレーズの事前定義された120 KBの静的辞書を組み込んでいます。
- 極めて高速な解凍速度により、クライアント側でのほぼ瞬時のページレンダリングを保証します。
技術的な制限とデメリット
- レベル11での圧縮は計算コストが高くなります(静的アセットの事前圧縮に最適です)。
- 透過プロキシの破損を防ぐため、すべてのWebブラウザでHTTPSが必要です。
- 生の.brファイルには、外部コンテナ化なしでは埋め込みファイル名やパーミッションヘッダーがありません。
興味深い技術トリビア
- Brotliという名前は、スイスドイツ語で「小さなパン」を意味する「Brötli」にちなんで名付けられました。
- Brotli内の静的120 KB辞書には、何千もの一般的な英語、スペイン語、ドイツ語、中国語、およびHTMLのスニペットが含まれています。
- Cloudflare、Fastly、Googleにおける現代のインターネットトラフィックの95%以上が、Brotli圧縮を使用して配信されています。
よくある技術的な質問
ウェブサイトにおいてBrotliがGzipよりも高速なのはなぜですか?
BrotliはHTML、CSS、JSファイルをGzipよりも20%小さく圧縮しつつ、同等の速度で解凍できるため、セルラーネットワーク経由で必要なラウンドトリップ数を減らすことができます。
BrotliがHTTPSを必須とするのはなぜですか?
インターネット上のレガシーな透過プロキシが新しい「br」エンコーディングを誤って解釈または破損させる可能性があるため、WebブラウザはセキュアなHTTPS接続上でのみBrotliをサポートしています。
.brファイルを解凍するにはどうすればよいですか?
File2File.appを使用すれば、ウェブブラウザ上で直接、.brや.brotliファイルをプレーンテキストや元のファイルに即座に解凍できます。