Brotli は、Zopfli よりも 20 ~ 26% 高い圧縮率を実現できる新しいデータ形式です。 Brotli 圧縮アルゴリズムとは何ですか? Brotli はもともと、Web フォントのオフライン圧縮用に 2015 年にリリースされました。 Google のソフトウェア エンジニアは、2015 年 9 月に、特に HTTP 圧縮に重点を置いた一般的なロスレス データ圧縮を含む Brotli の拡張バージョンをリリースしました。エンコーダーは圧縮率を向上させるために部分的に書き直され、エンコーダーとデコーダーの両方が高速化され、ストリーミング API が改良されて圧縮品質レベルが追加されました。新しいバージョンでは、プラットフォーム間でのパフォーマンスの向上と、デコードに必要なメモリの削減も実現されています。 一般的な汎用圧縮アルゴリズムとは異なり、Brotli は事前定義された 120 キロバイトの辞書を使用します。辞書には、テキストと HTML ドキュメントの大規模なコーパスから抽出された 13,000 を超える一般的な単語、フレーズ、およびその他の部分文字列が含まれています。事前定義されたアルゴリズムにより、小さいファイルの圧縮密度を向上させることができます。 テキスト ファイルを圧縮する際に deflate の代わりに brotli を使用すると、圧縮密度が通常 20% 向上しますが、圧縮および解凍の速度はほぼ同じままです。 Brotli を使用したストリーミング圧縮用に、コンテンツ エンコーディング タイプ「br」が提案されています。 インストール 1. brotliをダウンロードする git クローン https://github.com/google/ngx_brotli cd ngx_brotli && git サブモジュール更新 --init 2. コンパイル 元のコンパイル設定の後に –add-module=/opt/nginx/ngx_brotli を追加します。 例えば 次のようにコードをコピーします。 ./configure --prefix=/usr/local/nginx --user=www --group=www --with-pcre=/opt/nginx/pcre-8.41 --with-http_ssl_module --with-zlib=/opt/nginx/zlib-1.2.11 --with-openssl=/opt/nginx/openssl-1.0.2n --add-module=/opt/nginx/ngx_brotli --with-http_v2_module 設定、httpセクションに追加 http { mime.types を含めます。 デフォルトタイプ アプリケーション/オクテットストリーム; ファイル送信オン; tcp_nopush オン; キープアライブタイムアウト65; #Brotli 圧縮 ブロトリオン; brotli_comp_レベル 6; brotli_types テキスト/プレーン テキスト/css アプリケーション/json アプリケーション/x-javascript テキスト/xml アプリケーション/xml アプリケーション/xml+rss テキスト/javascript アプリケーション/javascript image/svg+xml; … 再起動してページを更新し、ヘッダーを表示すると、 受け入れエンコーディング:gzip、deflate、br 図に示すように これは、brotli 圧縮が有効になっていることを意味します。 設定手順 指導の紹介 ngx_brotli は次のディレクティブを定義します。 brotli では、応答データの動的圧縮を許可するかどうかを指定します。オプションの値は on と off で、デフォルト値は off です。例は以下のとおりです。 ブロトリオン; brotli_types、動的圧縮が有効な場合に圧縮が許可される MIME タイプ、デフォルト値は text/html です。例は以下のとおりです。 brotli_types テキスト/プレーン テキスト/css テキスト/xml アプリケーション/xml アプリケーション/json テキスト/javascript アプリケーション/javascript アプリケーション/x-javascript; brotli_static: .br で終わる前処理済みの圧縮ファイルの検索を許可するかどうか。オプションの値は on、off、always です。デフォルト値は off です。例は以下のとおりです。 brotli_static オフ; brotli_comp_level、圧縮レベル、オプションの値の範囲は 0 ~ 11、デフォルト値は 6 です。例は以下のとおりです。 ブロトリ_comp_レベル11; brotli_buffers、応答データを圧縮するときに使用するバッファの数とサイズ。例は以下のとおりです。 brotli_buffers 16 8k; brotli_window は brotli が使用するウィンドウ値で、デフォルト値は 512k です。例は以下のとおりです。 brotli_window 512k; brotli_min_length、応答データの最小長。長さがこの値より短い場合、圧縮操作を実行するために brotli アルゴリズムは使用されません。 brotli アルゴリズムは、Content-Length を使用して応答データの長さを決定します。例は以下のとおりです。 ブロトリの最小長さ 20; 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: JSベースの手持ち連射機能+テキスト揺れ特殊効果コードの簡単実装
>>: Windows システムに MySQL を素早くインストールして展開する方法 (グリーンの無料インストール バージョン)
目次序文最適化ソ連オンデマンドインポート1. ルーティングファイルでコンポーネントをオンデマンドでイ...
Dreamweaver または FrontPage を使用して HTML Web ページを作成する場...
Webkit スクロールバー スタイルのリセット1. スクロールバーには、スクロールバー ボタンとト...
著者: Guan Changlong は、Aikesheng の配送サービス部門の DBA です。主...
目次アニメーションプレビューその他のUIライブラリ始めるコンポーネントディレクトリ構造トーストおおよ...
リストは、類似または関連する一連の項目をリストするために使用されます。順序なしリスト(箇条書きリスト...
目次1. 概要2. Django プロジェクト3. Vueプロジェクト1. 概要プロジェクトで、ダウ...
注意を払う必要があります。HTML Police がコードを調べて、意味のないタグをすべて見つけ出す...
最近、Tencent Cloudを使用してサーバーを設定しました。使用中に、tomcatポートにアク...
目次インデックスとは何ですか?左端のプレフィックス一致の原則key_lenの計算方法インデックスの最...
MySQL フルテキスト インデックスは、特定のテーブルの特定の列に表示されるすべての単語のリストを...
目次空の文字列 '' と null を比較するケース1: 空の文字列を使用する ...
私はmysql ERROR 1045に遭遇し、この問題に長い時間を費やしました。私はそれを自分で書き...
この記事では ソースコードのオンラインプレビューとダウンロード今日のチュートリアルでは、円のホバー効...
inputボックスを純粋な数字のみに制限する1、onkeyup = "value=valu...