[解決済み] ASP.NETでGZip圧縮を実装するには?
2023-08-09 10:01:55
質問
私は asp.net のページ (CSS と JS ファイルを含む) に GZip 圧縮を実装しようとしています。以下のコードを試しましたが、私の.aspxページしか圧縮されません。 YSlow )
HttpContext context = HttpContext.Current;
context.Response.Filter = new GZipStream(context.Response.Filter, CompressionMode.Compress);
HttpContext.Current.Response.AppendHeader("Content-encoding", "gzip");
HttpContext.Current.Response.Cache.VaryByHeaders["Accept-encoding"] = true;
上記のコードは、私の.aspxページのコード(マークアップ)のみを圧縮しており、外部ファイルとして含まれているCSSやJSファイルは圧縮されていません。 コードを使ってASP.NETでGZip圧縮を実装する方法を教えてください(私はIISサーバー構成にアクセスできない共有ホスティングサーバーにいるため)。また、上記のコードでは、最後の2行を取得できません。なぜ、これらの行が使用され、これらの行の目的は何ですか。説明してください!
どのように解決するのですか?
JS & CSS ファイルの圧縮については、これらのファイルは ASP.NET ランタイムなしで直接レンダリングされるため、実際には IIS レベルで処理する必要があります。
IIS で JSX & CSSX 拡張を aspnet_isapi.dll にマッピングして、ZIP コードを利用することもできますが、IIS の方がより良い仕事をする可能性が高いでしょう。
content-encoding ヘッダーは、レンダリングの前にコンテンツを解凍する必要があることをブラウザに知らせます。 一部のブラウザは、コンテンツの形状に基づいて、いずれにせよこれを把握できるほど賢明ですが、伝えるだけ伝える方がよいでしょう。
Accept-encoding のキャッシュ設定は、text/html のみを要求したブラウザに gzip されたコンテンツのキャッシュ版が送信されないようにするためにあります。
関連
-
[解決済み] メンバー '<メンバー名>' にインスタンス参照でアクセスできない
-
[解決済み】EF 5 Enable-Migrations : アセンブリにコンテキストタイプが見つかりませんでした
-
[解決済み] 2つのリストを結合する
-
[解決済み】エラー「必要なフォーマルパラメータに対応する引数が与えられていない」を解決する?
-
[解決済み】URLから画像をダウンロードする方法
-
[解決済み】画像のペイントにTextureBrushを使用する方法
-
VSでscanfエラーを恒久的に解決するには、ソースファイルを作成し、自動的に#define _CRT_SECURE_NO_WARNINGS 1を追加してください。
-
[解決済み] enumを列挙するには
-
[解決済み] intをenumにキャストするにはどうすればよいですか?
-
[解決済み】zlib、gzip、zipはどのように関係していますか?これらの共通点と相違点は何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] エンティティタイプ ApplicationUser は、現在のコンテキストのモデルの一部ではありません。
-
[解決済み】文字列が有効な DateTime " format dd/MM/yyyy " として認識されなかった。
-
[解決済み】取り消せないメンバはメソッドのように使えない?
-
[解決済み】値が期待した範囲に収まらない
-
[解決済み] [Solved] アセンブリ System.Web.Extensions dll はどこにありますか?
-
[解決済み] UnityでOnCollisionEnterが呼ばれない
-
[解決済み] EntityTypeにキーが定義されていないエラー
-
[解決済み] 2つのリストを結合する
-
[解決済み】Unityでゲームオブジェクトのすべての子をループスルーして破壊する方法?
-
[解決済み】ファイルやアセンブリ、またはその依存関係の1つをロードできませんでした。