一般用語
上級

Brotli (2013)(ブロトリ)

Google の Jyrki Alakuijala・Zoltan Szabadka が 2013 年に公開した可逆圧縮アルゴリズム。LZ77 + Huffman + 第二段静的辞書 (Web 用語・HTML タグ等) の組合せで、Web コンテンツに特化した高圧縮率を実現、HTTP Content-Encoding: br として現代 Web の標準圧縮となった。

0 回閲覧
0 いいね
2026/5/11 更新
関連タグ
Brotli
Google
WOFF2
HTTP Content-Encoding
Web 圧縮
RFC 7932

概要

Brotli は、Google の Jyrki Alakuijala・Zoltan Szabadka が 2013 年に公開した可逆圧縮アルゴリズムで、LZ77 + Huffman 符号化 + 第二段静的辞書 (Web 用語・HTML タグ・CSS/JS 頻出語等の 120KB 事前定義辞書) の革新的な組合せで、Web コンテンツに特化した高圧縮率を実現した重要技術です。Google Fonts 配信の WOFF2 (Web Open Font Format 2.0、2014) で初実装され、その後 HTTP の汎用 Content-Encoding として 2015 年 7 月に RFC 7932 として標準化、2016 年から Chrome・Firefox・Safari・Edge の全主要ブラウザで Content-Encoding: br として標準サポート開始し、HTTPS 接続のみで Web 圧縮の事実上標準となりました。120KB の事前定義辞書には英語・HTML/CSS/JavaScript の頻出語・タグ・記号などが含まれており、これにより gzip (Deflate) 比 +15-25% の高圧縮率を Web コンテンツで実現します。

主な特徴・仕組み

  • 発表: 2013 年 Google、Jyrki Alakuijala・Zoltan Szabadka
  • 標準化: 2015 年 RFC 7932 (IETF)
  • 構成: LZ77 + Huffman + 第二段静的辞書 (120KB)
  • 静的辞書: Web 頻出語・HTML タグ・CSS/JS シンタックス等を事前定義
  • 辞書サイズ: LZ77 スライディング 16MB + 静的辞書 120KB
  • 圧縮レベル: 0-11 (デフォルト 11)、最高レベル
  • 圧縮率: gzip 比 +15-25% (Web コンテンツ)・テキスト一般 +5-15%
  • 圧縮速度: gzip より遅い、レベル 11 で 0.5-2MB/s
  • 解凍速度: gzip と同等、200-400MB/s
  • HTTP 対応: Content-Encoding: br、HTTPS のみ (HTTP では不採用)

スペック比較表

ツールレベル圧縮率 (HTML)圧縮速度解凍速度
gzip675%30MB/s200MB/s
Zstandard370%480MB/s1300MB/s
Zstandard1980%5MB/s1100MB/s
Brotli478%25MB/s300MB/s
Brotli1182%1MB/s400MB/s

具体例・対応技術

  • WOFF2 (Web Open Font Format 2.0, 2014): Brotli ベース、Google Fonts 配信標準
  • HTTP Content-Encoding: br (2016-): Chrome 49+/Firefox 44+/Safari 11+/Edge 15+
  • Nginx brotli モジュール (2019-): 動的圧縮、brotli on; brotli_comp_level 4;
  • Cloudflare CDN (2017-): 自動 Brotli 圧縮、Pro プラン以上
  • Fastly CDN: Brotli 動的圧縮対応

自作PCでの選び方・注意点

Brotli は 2026 年現在の Web 配信標準圧縮で、Web サイト運営する自作 PC ユーザーにとって必須知識。Nginx に brotli モジュールを追加するには apt install nginx-module-brotli (Ubuntu) または手動コンパイル、load_module modules/ngx_http_brotli_filter_module.so; で有効化。設定例: brotli on; brotli_static on; brotli_comp_level 4; brotli_types text/html text/css application/javascript; でレベル 4 で動的圧縮、brotli_static on で事前圧縮ファイル (.br) 配信。Cloudflare CDN は 2024 年から無料プラン含めて Brotli 自動圧縮対応、設定不要で帯域削減効果 15-25%。Brotli 圧縮ファイル生成は brotli -11 file.html で file.html.br を生成、CDN/Web サーバで .br ファイルを Content-Encoding: br として配信すると最高圧縮率を得られます。

関連用語との違い

  • gzip (Deflate): 古い Web 標準、Brotli より低圧縮率
  • Zstandard: 汎用圧縮、Web 用途で Brotli より広い対応
  • WOFF2: Web フォント、Brotli の特殊用途実装

よくある質問(FAQ)

Q1: Brotli と gzip どちらを選ぶ? A: HTTPS Web 配信なら Brotli (圧縮率優位)、HTTP・互換性最優先なら gzip。実用上は両者並存設定 (br + gzip フォールバック) が一般的。

Q2: なぜ HTTPS のみ? A: HTTP 中継プロキシで圧縮データを認識できないとエラー発生のため。HTTPS では暗号化で中継問題が回避されるため Brotli 採用可能。

Q3: 動的圧縮 vs 事前圧縮? A: 動的は CPU 負荷・遅延あり、事前圧縮 (.br ファイル生成) で配信時の負荷ゼロ。大型静的サイトは事前圧縮推奨。

まとめ

  • Brotli = 2013 年 Google 開発、Web 特化圧縮
  • LZ77 + Huffman + 120KB 静的辞書 (Web 頻出語)
  • HTTP Content-Encoding: br で 2016 年から Web 標準
  • gzip 比 +15-25%、HTTPS 必須、Cloudflare/Fastly で標準対応
この記事について
カテゴリー一般用語
難易度上級
作成日2026/5/11