トップQs
タイムライン
チャット
視点

Brotli

自由かつオープンソースのデータ圧縮ライブラリ ウィキペディアから

Brotli
Remove ads

Brotli[読み疑問点]は、Jyrki AlakuijalaとZoltán Szabadka英語版により開発されたオープンソースデータ圧縮ライブラリである[3][4]

概要 作者, 開発元 ...
Remove ads

概要

BrotliはLZ77LZ78ハフマン符号化、および2次文脈モデリング英語版処理の近代的な亜種がベースである。

ChromeOperaFirefoxMicrosoft Edgeなど、Internet Explorerを除いた主要なブラウザはこのライブラリによる圧縮の恩恵を受けたWebブラウジングが可能である[5][6]。同じくGoogleにより開発されたZopfliと同じく、スイスのパンであるbrötli英語版に由来している[7]

詳細

Brotliの最初の発表は2015年、webフォントのオフライン圧縮を目的にしてのことであった[8]。同年9月、Googleのソフトウェア技術者により汎用データ圧縮、特にHTTP圧縮英語版を目的とする改良がなされた版が発表される。 これはエンコーダの一部書き直しにより、圧縮率の向上、エンコーダ/デコーダ両方の高速化、ストリーミングAPIの改善、圧縮品質レベルの調整項目などが追加されたものであった。 加えてこの新しい版ではクロスプラットフォーム性の向上や使用メモリの削減もなされていた。

多くの汎用圧縮アルゴリズムと異なり、Brotliは事前に定義された120KBの辞書を使用している。 辞書は13000以上の共通の単語や熟語、テキストやHTMLドキュメントから構成された巨大なコーパスから生成される部分文字列から成っており[9][10]、小さいデータファイルに対する圧縮率を高めることに寄与している。

テキストファイルを圧縮する局面において、Brotliは一般的にDeflateに対し20%程の圧縮率の優越を、圧縮/伸長速度におおかた変化なく行うことができる。ストリーミング圧縮におけるBrotliのコンテンツエンコーディングタイプ[注 1]は"br"である。

Remove ads

サポート状況

ブラウザ

  • 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]

脚注

関連項目

外部リンク

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads