Brotli
詳細
Brotliの最初の発表は2015年、webフォントのオフライン圧縮を目的にしてのことであった。同年9月、Googleのソフトウェア技術者により汎用データ圧縮、特にHTTP圧縮(英語版)を目的とする改良がなされた版が発表される。 これはエンコーダの一部書き直しにより、圧縮率の向上、エンコーダ/デコーダ両方の高速化、ストリーミングAPIの改善、圧縮品質レベルの調整項目などが追加されたものであった。 加えてこの新しい版ではクロスプラットフォーム性の向上や使用メモリの削減もなされていた。
多くの汎用圧縮アルゴリズムと異なり、Brotliは事前に定義された120KBの辞書を使用している。 辞書は13000以上の共通の単語や熟語、テキストやHTMLドキュメントから構成された巨大なコーパスから生成される部分文字列から成っており、小さいデータファイルに対する圧縮率を高めることに寄与している。
テキストファイルを圧縮する局面において、Brotliは一般的にDeflateに対し20%程の圧縮率の優越を、圧縮/伸長速度におおかた変化なく行うことができる。ストリーミング圧縮におけるBrotliのコンテンツエンコーディングタイプは"br"である。
サポート状況
Webサーバー
- Apache HTTPサーバにおいては2.4.26で対応した。Brotliに対応するモジュールmod_brotliが追加されている。
- Microsoft IISにおいては公式サポートも開発への取り組みもなされていないが、対応させるコミュニティモジュールが存在する。
- nginxにおいては公式サポートも開発への取り組みもなされておらず、Googleの提供する ngx_brotliモジュールにより対応する。
- Amazon CloudFrontにおいては2020年9月より、Brotliを使ってキャッシュ可能なレスポンスをエッジで自動的に圧縮できるようになった。
脚注
出典
- ↑ “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日閲覧。
- ↑ Richard Chirgwin (2015年9月23日). “Google's new squeeze: Brotli compression open-sourced”. The Register. 2017年1月17日閲覧。
- ↑ “Comparison of Brotli, Deflate, Zopfli, LZMA, LZHAM and Bzip2 Compression Algorithms”. Google (2015年9月22日). 2015年10月25日閲覧。
- 1 2 Baheux, Kenji (15 January 2016), “Accept-encoding: br on HTTPS connection”, Chrome Platform Status, chromestatus.com, https://www.chromestatus.com/feature/5420797577396224 .
- ↑ Trace, Rob (December 20, 2016), “Introducing Brotli compression in Microsoft Edge”, Microft Edge Developer, blogs.windows.com, https://blogs.windows.com/msedgedev/2016/12/20/introducing-brotli-compression
- ↑ “Can I use... Support tables for HTML5, CSS3, etc”. caniuse.com. 2016年1月7日閲覧。
- ↑ “Firefox 44 release notes”. mozilla.org. 2016年1月26日閲覧。
- ↑ “CHANGES_2.4”. 2018年5月20日閲覧。 “Changes with Apache 2.4.26 *) mod_brotli: Add a new module for dynamic Brotli (RFC 7932) compression. [Evgeny Kotkov]”
- ↑ “IIS Brotli extension page”. Microsoft IIS Community. 2016年10月6日閲覧。
- ↑ “ngx_brotli project page”. GitHub. 2016年10月6日閲覧。
- ↑ “Amazon CloudFront announces support for Brotli compression”. aws.amazon.com. 2021年7月8日閲覧。