Brotli(ブロトリ)とは、HTML・CSS・JavaScriptなどのテキストデータを圧縮し、Webページの転送量を減らすために使われる圧縮方式です。gzipと同じく、ブラウザへ送るデータを小さくして表示を効率化する目的で使われます。
Brotliはgzipより高い圧縮率を得やすい一方、圧縮レベルを上げるほど圧縮処理に時間やCPUを使います。実際の運用では「Brotliなら必ず速い」と考えるのではなく、サーバーが対応しているか、どのファイルを圧縮するか、動的圧縮か事前圧縮かまで含めて判断します。
30秒でわかる結論
- BrotliはWeb配信用にも使われる可逆圧縮方式
- HTTPでは「br」というContent-Encodingで扱われる
- gzipより高い圧縮率を得やすい
- HTML・CSS・JavaScriptなどのテキスト系ファイルと相性がよい
- JPEG・WebP・AVIF・動画など、すでに圧縮済みのファイルは効果が小さいことが多い
- Brotliの品質レベルは0~11で、数値を上げるほど圧縮密度は高くなるが処理は遅くなる
- ブラウザとサーバーが対応していればBrotli、非対応時はgzipなどへ切り替える構成が一般的
- 共用レンタルサーバー利用者は、自分で細かく設定するよりサーバー側の対応状況を確認するのが先
Brotliとは?
Brotliは、データを元の内容に戻せる可逆圧縮の方式です。WebではHTML・CSS・JavaScript・JSON・SVGなど、文字情報の多いデータを圧縮して転送量を減らす用途で使われます。
RFC 7932では、BrotliはLZ77とハフマン符号化などを組み合わせた圧縮形式として定義されています。また、静的辞書も利用し、一般的なテキストデータを効率よく圧縮できるよう設計されています。
初心者向けに一言でいうと
Brotliは、Webページの中身を小さくしてからブラウザへ送り、通信量を減らす仕組みです。
BrotliでWebページが軽くなる仕組み
Webページを表示するとき、サーバーはHTMLやCSS、JavaScriptなどをブラウザへ送ります。Brotliを使うと、そのデータを圧縮してから送信できます。
Accept-Encodingヘッダーでbrやgzipなどを知らせます。
Brotliに対応していればbrを選ぶ場合があります。
HTML・CSS・JavaScriptなどを小さくします。
受信したデータを元に戻してページを表示します。
通信するバイト数が減ることで表示効率の改善が期待できます。
HTTPでは、ブラウザが対応する圧縮方式をAccept-Encodingで伝え、サーバーは実際に使った圧縮方式をContent-Encodingで返します。
通信のイメージ
ブラウザ:Accept-Encoding: br, gzip
サーバー:Content-Encoding: br
この場合、ブラウザはBrotliで圧縮されたレスポンスを受け取り、自動的に展開します。利用者が手作業で解凍する必要はありません。
Brotliとgzipの違い
Brotliとgzipは、どちらもWeb配信で使われる圧縮方式ですが、圧縮効率や歴史、サーバー側の負荷などに違いがあります。
| 項目 | Brotli | gzip |
|---|---|---|
| HTTPでの表記 | br | gzip |
| 圧縮率 | 高くなりやすい | Brotliより低いことが多い |
| 圧縮処理 | 高品質設定では重くなりやすい | 比較的軽い |
| ブラウザ対応 | 主要ブラウザで広く対応 | 非常に広く対応 |
| 向いている用途 | テキスト系Web配信 | 幅広いWeb配信 |
| 互換性重視 | gzipと併用しやすい | フォールバック向き |
RFC 7932では、Brotliはgzipより大幅に高い圧縮率を目指した形式として説明されています。ただし、実際の圧縮率はファイル内容・圧縮レベル・実装によって変わるため、「必ず何%小さくなる」と固定値では考えない方が正確です。
Brotliはどれくらい圧縮できる?
圧縮効果は元データによって変わります。同じ100KBのファイルでも、HTMLのように同じ文字列が多いデータと、すでに圧縮された画像では結果が大きく異なります。
圧縮効果の考え方
仮に100KBのCSSがBrotliで25KBになった場合、転送量は75KB減り、元サイズの25%になります。
圧縮率の例:25KB ÷ 100KB × 100 = 25%
ただし、これは説明用の例です。実際の値はファイルごとに異なります。
Brotliは特に、繰り返しの多いテキストデータで効果を得やすい圧縮方式です。
圧縮効果を期待しやすいファイル
- HTML
- CSS
- JavaScript
- JSON
- XML
- SVG
- テキストファイル
Brotliで圧縮しなくてよいファイル
画像・音声・動画などは、もともと圧縮された形式で保存されていることが多く、HTTP圧縮を追加してもサイズがあまり減らない場合があります。
| ファイル | Brotli圧縮の考え方 |
|---|---|
| HTML・CSS・JS | 圧縮候補 |
| JSON・XML・SVG | 圧縮候補 |
| JPEG・PNG | 効果が小さいことが多い |
| WebP・AVIF | 通常は追加圧縮を重視しない |
| MP4・音声 | 通常は追加圧縮を重視しない |
| ZIP・PDF | 内容や形式による |
何でもBrotliにすればよいわけではない
すでに圧縮されたファイルへさらに圧縮処理をかけても、サイズがほとんど減らずCPUだけ使う場合があります。テキスト系ファイルを中心に考えてください。
Brotliの圧縮レベル0~11とは?
GoogleのBrotli実装では、圧縮品質を0~11の範囲で指定できます。
数値を大きくすると、より小さく圧縮しようとする一方、圧縮処理に時間がかかります。
| 圧縮レベル | 考え方 |
|---|---|
| 0~3 | 圧縮速度を重視しやすい |
| 4~6 | 速度と圧縮率のバランスを取りやすい |
| 7~9 | 圧縮率を重視しやすい |
| 10~11 | 高い圧縮率を狙うが処理負荷も大きくなりやすい |
上の区分は実運用を理解するための目安です。GoogleのBrotliツールで定義される品質レベル自体は0~11で、値が大きいほど高密度・低速な圧縮になります。
Webサーバーがアクセスのたびに圧縮する「動的圧縮」では、最大レベルを常に使うとCPU負荷が増える場合があります。一方、事前に圧縮ファイルを作って保存する「静的圧縮」なら、圧縮に時間をかけても配信時の負荷を抑えやすくなります。
動的圧縮と事前圧縮の違い
| 項目 | 動的圧縮 | 事前圧縮 |
|---|---|---|
| 圧縮する時点 | アクセス時 | 配信前 |
| CPU負荷 | アクセス時に発生 | 事前作成時に発生 |
| 更新頻度が高い内容 | 使いやすい | 再生成が必要 |
| 固定CSS・JS | 利用可能 | 相性がよい |
初心者が共用レンタルサーバーを使う場合、これらを自分で細かく設定する場面は多くありません。サーバーやCDN側で自動的に処理される場合があります。
Brotliとブラウザの対応状況
BrotliのHTTP圧縮は、現在の主要ブラウザで広く対応しています。
ただし、Webサーバーは「Brotliしか送らない」のではなく、ブラウザがAccept-Encodingで通知した対応方式に合わせて配信方式を選べます。
対応方式の切り替え例
ブラウザが「br, gzip」に対応 → Brotliで配信
ブラウザが「gzip」のみ対応 → gzipで配信
圧縮方式に対応しない → 非圧縮で配信
この仕組みにより、Brotliを有効にしても、gzipをフォールバックとして残す構成が可能です。
Brotliを使うと表示速度は必ず速くなる?
必ず速くなるとは限りません。
Brotliで転送量が減れば、通信量の削減という点では有利です。しかし、Webページの表示速度は次のような複数要因で決まります。
- サーバー応答時間
- HTML・CSS・JavaScriptの量
- 画像サイズ
- JavaScriptの実行時間
- キャッシュ
- CDN
- ネットワーク品質
- ブラウザ側の処理
Brotliの役割
Brotliは主に「ネットワークで送るデータ量を減らす」ための施策です。TTFBやJavaScript実行時間など、別のボトルネックを直接解決するものではありません。
WordPressでBrotliは必要?
WordPress利用者がBrotliを意識する必要性は、サーバー環境によって変わります。
共用レンタルサーバー
確認優先
まずサーバー側でBrotli圧縮が自動提供されているか確認します。自動対応なら、利用者が追加設定しなくてよいことがあります。
CDN利用サイト
確認価値:高い
CDNがブラウザとの間でBrotli圧縮を行う構成があります。CDN側の圧縮設定を確認します。
VPS
設定知識が必要
Webサーバーのモジュールや設定を自分で管理する場合、Brotli対応の有無とCPU負荷を確認します。
小規模WordPressサイト
優先度:中
Brotli未対応だからといってサイト運営に支障が出るわけではありません。画像最適化・キャッシュ・不要プラグイン整理なども含めて総合判断します。
Brotliが有効か確認する方法
Brotliが使われているかは、ブラウザの開発者ツールで確認できます。
ChromeやFirefoxなどの開発者ツールを開きます。
HTML・CSS・JavaScriptなどのリクエストを選びます。
Content-Encodingを確認します。
と表示されていればBrotliで配信されています。
gzipの場合は「Content-Encoding: gzip」と表示されます。
Brotli設定で注意すること
サーバーCPU負荷を考える
高い圧縮レベルで動的圧縮すると、ファイルサイズは小さくなってもサーバー側の処理時間が増える場合があります。
すでに圧縮済みのファイルへ無理に使わない
WebP・AVIF・JPEG・MP4などにBrotliを追加しても、効果が小さい場合があります。
gzipをすぐ無効化しない
Brotli非対応環境へのフォールバックとしてgzipを使える構成があります。Brotliを有効にしたからといって、gzipを必ず削除する必要はありません。
キャッシュの扱いを確認する
Brotli版とgzip版を同じURLで配信する場合、キャッシュは圧縮方式の違いを正しく扱う必要があります。HTTPのコンテンツネゴシエーションでは、Accept-Encodingによって表現が変わる場合にVaryヘッダーを適切に扱います。
二重圧縮を避ける
レンタルサーバー、WordPressプラグイン、CDNの複数箇所で圧縮設定を重ねると、設定が複雑になります。どのレイヤーで圧縮しているか把握してください。
gzipのままでも問題ない?
はい。gzipは現在も広く使われているHTTP圧縮方式です。Brotliを使っていないからサイトが正常に運営できないわけではありません。
重要なのは、テキストデータが適切に圧縮され、実際の転送量を減らせているかです。
初心者の判断
すでにgzipが有効で、サイト速度に大きな問題がない場合は、Brotliだけを目的にサーバー構成を複雑にする必要はありません。サーバーやCDNがBrotliに標準対応しているなら利用する、という判断で十分です。
教科書判定
共用サーバー利用者は「Brotli対応を確認」で十分。VPSは圧縮率とCPU負荷を両方見る
初心者は「Brotliはgzipより効率よくテキストを圧縮しやすい方式」と理解すれば十分です。レンタルサーバーやCDNが自動対応しているなら、無理に手動設定する必要はありません。
WordPressではBrotliだけを高速化の決め手にせず、画像最適化、キャッシュ、TTFB、JavaScriptなどもあわせて確認してください。
VPSや独自構成では、最大圧縮レベルを使うことより、圧縮後サイズ・圧縮時間・CPU負荷のバランスを測って設定する方が実用的です。
FAQ
Q. Brotliとgzipはどちらがよいですか?
A. 圧縮率を重視するならBrotliが有利になりやすい一方、gzipは互換性が広く、圧縮処理も比較的軽い方式です。両方に対応し、ブラウザに応じて使い分ける構成が実用的です。
Q. Brotliを有効にすれば画像も小さくなりますか?
A. JPEG・WebP・AVIFなどはすでに圧縮されているため、Brotliの追加効果は小さいことが多いです。画像は画像形式や解像度、品質設定で最適化する方が重要です。
Q. WordPressプラグインでBrotliを有効にすべきですか?
A. 先にレンタルサーバーやCDNがBrotliへ対応しているか確認してください。すでにサーバー側で有効なら、プラグインで重複設定する必要がない場合があります。
Q. Brotliの圧縮レベル11を使えば最速になりますか?
A. いいえ。11は高い圧縮密度を狙う設定ですが、圧縮処理は遅くなります。動的配信ではCPU負荷とのバランスが重要です。
Q. Brotliが使われているかどうかはどう確認しますか?
A. ブラウザの開発者ツールでレスポンスヘッダーを確認し、「Content-Encoding: br」があればBrotliで配信されています。
まとめ
Brotliはテキスト転送量を減らすための高効率な圧縮方式
- Brotliは可逆圧縮方式
- HTTPではbrというContent-Encodingで使われる
- gzipより高い圧縮率を得やすい
- HTML・CSS・JavaScriptなどと相性がよい
- 画像・動画など圧縮済みファイルでは効果が小さいことが多い
- 品質レベルは0~11で、上げるほど圧縮密度と処理負荷が増える
- gzipとの併用・フォールバックが可能
- WordPress初心者はサーバー・CDNの標準対応を先に確認する
- VPSでは圧縮率だけでなくCPU負荷も測る
Brotliは有効な高速化手段の1つですが、単独でサイト速度を決めるものではありません。現在の圧縮方式を確認し、サーバーが標準対応しているなら活用する、という順番で十分です。
次に読む
「gzip圧縮とは?Web表示高速化の仕組みを解説」「TTFBとは?サーバー応答速度の見方と改善方法」「WebPとJPEG・PNGの違いとは?」もあわせて確認してください。