Brotli
作者Jyrki Alakuijala、Zoltan Szabadka
開発元Jyrki Alakuijala、Eugene Kliuchnikov、Robert Obryk、Zoltan Szabadka、Lode Vandevenne
初版2017年9月21日 (6年前) (2017-09-21)[1]
最新版1.1.0 / 2023年8月31日 (8か月前) (2023-08-31)[2]
リポジトリ
github.com/google/brotli
Brotli[読み疑問点]は、Jyrki AlakuijalaとZoltan Szabadka(英語版)により開発されたオープンソースのデータ圧縮ライブラリである[3][4]。
概要(英語版)処理の近代的な亜種がベースである。
Chrome、Opera、Firefox、Microsoft Edgeなど、Internet Explorerを除いた主要なブラウザはこのライブラリによる圧縮の恩恵を受けたWebブラウジングが可能である[5][6]。同じくGoogleにより開発されたZopfliと同じく、スイスのパンであるbrotli(英語版)に由来している[7]。 Brotliの最初の発表は2015年、webフォントのオフライン圧縮を目的にしてのことであった[8]。同年9月、Googleのソフトウェア技術者により汎用データ圧縮、特にHTTP圧縮
詳細
多くの汎用圧縮アルゴリズムと異なり、Brotliは事前に定義された120KBの辞書を使用している。 辞書は13000以上の共通の単語や熟語、テキストやHTMLドキュメントから構成された巨大なコーパスから生成される部分文字列から成っており[9][10]、小さいデータファイルに対する圧縮率を高めることに寄与している。
テキストファイルを圧縮する局面において、Brotliは一般的にDeflateに対し20%程の圧縮率の優越を、圧縮/伸長速度におおかた変化なく行うことができる。ストリーミング圧縮におけるBrotliのコンテンツエンコーディングタイプ[注 1]は"br"である。
サポート状況
ブラウザ
Google Chrome 49とそれ以降のバージョンでサポートされている[11]。
Microsoft Edge はバージョン15から対応した[12]。
Mozilla Firefox 44とそれ以降のバージョンでサポートされている[13][14]。
Opera 36とそれ以降のバージョンでサポートされている[11]。
Safariにおいては、Safari 11から対応した。
Webサーバー
Apache HTTPサーバにおいては2.4.26で対応した。Brotliに対応するモジュールmod_brotliが追加されている[15]。
Microsoft IISにおいては公式サポートも開発への取り組みもなされていないが、対応させるコミュニティモジュールが存在する[16]。
nginxにおいては公式サポートも開発への取り組みもなされておらず、Googleの提供する ngx_brotliモジュールにより対応する[17]。
Amazon CloudFrontにおいては2020年9月より、Brotliを使ってキャッシュ可能なレスポンスをエッジで自動的に圧縮できるようになった[18]。
脚注[脚注の使い方]
注釈^ HTML圧縮の英語版記事における該当箇所
出典^ “Brotli v1.0.0”. GitHub (2017年9月21日). 2019年9月21日閲覧。
^ “Releases”. GitHub. 2023年12月27日閲覧。
^ “Brotli Compressed Data Format”. IETF Internet Drafts (2014年5月16日). 2016年11月1日閲覧。
^ “Brotli Source Code - GitHub”. github.com. 2017年1月17日閲覧。
^ Slater-Robbins, Max (2016年1月20日). “ ⇒Chrome and Firefox are about to get a lot faster thanks to Google's new data compression algorithm”. techspot.com. 2016年1月20日閲覧。
^ “Can I use... Support tables for HTML5, CSS3, etc”. 2020年10月9日閲覧。
^ ⇒Google Open Source Blog: Introducing Brotli: a new compression algorithm for the internet
^ “ ⇒Smaller Fonts with WOFF 2.0 and unicode-range” (2015年2月18日). 2016年1月20日閲覧。