この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 34710|答える: 5

[ASP.NET] asp.net コア3.1はウェブサイトBrotli圧縮アルゴリズムを可能にします

[リンクをコピー]
2021年1月23日 12:12:25に投稿 | | | |
BrotliはGoogleが開発した新しい圧縮アルゴリズムです。 圧縮応答サイズが小さいため、スペースの利用率が向上し、ページ読み込みも高速化できます。 多くの場合、Brotliはgzipよりも優れたパフォーマンスを発揮します。 利点:css、html、jsなどの典型的なウェブ資産において、Brotliはgzipを17〜25%上回ります。 Brotli -11 密度は gzip-9 と比べて減少:html(多言語コーパス):js の 25% 保存(Alexa の最高 10k):縮小中の js を 17% 保存(Alexa のトップ10k):20% 節約。

ブロトリアルゴリズムの紹介

Brotliはもともと2015年にウェブフォントのオフライン圧縮のためにリリースされました。 Googleのソフトウェアエンジニアは2015年9月に、特にHTTP圧縮に重点を置いた強化版Brotliをリリースしました。 エンコーダーは圧縮率を向上させるために部分的に書き直され、エンコーダーとデコーダの両方が速度向上のために向上し、ストリーミングAPIも圧縮品質の向上に改良されました。 新バージョンでは、プラットフォーム全体でパフォーマンスが向上し、デコードに必要なメモリの削減も見られます。

一般的な汎用圧縮アルゴリズムとは異なり、Brotliはあらかじめ定義された120キロバイトの辞書を使用します。 辞書には、大量のテキストおよびHTML文書から13,000以上の一般的に使われる単語、フレーズ、その他の部分文字列が含まれています。 あらかじめ定義されたアルゴリズムは、小さなファイルの圧縮密度を高めることができます。

テキストファイルを圧縮するのにBrotliを使う代わりに、圧縮密度を通常20%向上させることができ、圧縮と復凍速度はほぼ同じです。 Brotliを用いたストリーム圧縮のコンテンツエンコーディングタイプは「br」として提案されています。

ブロトリ対ジップ


圧縮アルゴリズムを評価する際には、圧縮率と圧縮速度の2つの指標に焦点を当てます。 上の図でわかるように、gzipの9つの圧縮レベルのうちどれを使っても、その圧縮比はbrotliより低く(gzipと比較して10まで設定可能です)、圧縮速度も遅いです。

Brotliの利点:css、html、jsなどの典型的なウェブ資産において、Brotliはgzipを17〜25%上回っています。 Brotli -11 密度はgzip-9と比べて:html(多言語コーパス):jsの25%を節約(Alexaの最高10k):縮小するjsの17%を節約(Alexaのトップ10k):CSSの17%を節約(Alexaのトップ10k):20%の節約

asp.net コアがBrotliを可能にします

Accept-Encoding ヘッダーの値



コード構成

以下のコードは、デフォルトのMIMEタイプおよび圧縮プロバイダー(BrotliおよびGzip)に対してレスポンシブ圧縮ミドルウェアを有効にする方法を示しています。


手記:

  • アプリ。 UseResponseCompressionはアプリに必ず含まれている必要があります。 電話する前にMvcを使ってください。
  • Fiddler、Firebug、Postmanなどのツールを使ってAccept-Encodingリクエストヘッダーを設定し、レスポンスヘッダー、サイズ、本文を調べましょう。



デフォルトでは、Brotli圧縮プロバイダーはGzip圧縮プロバイダーとともに圧縮プロバイダーの配列に追加されます。 クライアントがBrotli圧縮データ形式をサポートする場合、圧縮はデフォルトでBrotli圧縮となります。 クライアントがBrotliをサポートしていない場合、クライアントがGzip圧縮をサポートしている場合、圧縮はデフォルトでGzipに変わります。

BR圧縮試験

Fiddlerパケットキャプチャツールを開き、ブラウザで当サイトのアドレスにアクセスすると、以下の内容が見えます:




リクエストヘッダー:Accept-Encoding: gzip, deflate, br

レスポンスヘッダー:Content-Encoding: br

圧縮が行われると、レスポンスが圧縮されると本文内容が変わるため、Content-Lengthヘッダーは削除されます。

圧縮が行われると、本文内容が変更されハッシュが無効になるため、Content-MD5ヘッダーは削除されます。


asp.net コアがHTTPS関数を有効にすると、Brotliはhtmlやjsonの圧縮には影響しませんが、jsやcssは圧縮できます。 (文字長が圧縮するには短すぎる場合もあり、設定する必要があります

(終わり)





先の:インテリジェントドメイン名ワイルドカードDNS検索
次に:asp.net コアのバルクはメモリ内のZIPパケットの名前を変更します
2022年9月24日 10:48:26 に投稿 |
独創性は簡単ではありません。ソースコードを見てください
2023年2月28日 11:51:11に投稿 |
共有してくれてありがとう
 地主| 2023年9月1日 21:59:51に投稿 |

 地主| 2023年9月17日 10:47:02 に投稿 |
.NET 6はGzipおよびBrotliアルゴリズムをテストします
https://www.itsvse.com/thread-10663-1-1.html
 地主| 2025-11-16 22:39:26に投稿 |
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com