Brotliストリーム (.brotli)

IETF 標準

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

BROTLI を GZIP に変換

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

調査とメタデータ

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

ここにファイルを選択またはドロップ

100%プライベートなブラウザ内変換 - ファイルがデバイスから外部に出ることはありません

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

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

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

16進数シグネチャ (オフセット 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の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爆弾の同等物)。
  • スライディングウィンドウリングバッファのサイズ変更中のバッファオーバーフロー。

防御的ベストプラクティス:

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

2016IETFがBrotliをRFC 7932として公開し、HTTP Webブラウザでの普遍的な採用につながりました。
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のスニペットが含まれています。
  • Cloudflare、Fastly、Googleにおける現代のインターネットトラフィックの95%以上が、Brotli圧縮を使用して配信されています。

よくある技術的な質問

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

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

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

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

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

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