IIS のレスポンスが常に圧縮される設定にする

IIS のレスポンスが常に圧縮される設定にする手順を紹介します。

概要

IISをデフォルトの設定でインストールした場合、Webサーバーからのレスポンスが圧縮されない状態の場合が多いです。 この記事では、動的コンテンツの圧縮を有効にして、ASP.NETやCGIなどのアプリケーションのレスポンスも含め、 常にWebサーバーのレスポンスを圧縮する方法を紹介します。

動作の確認

IISのWebサーバーに配置してあるWebページにアクセスします。ページはASP.NET アプリケーションで表示しています。
IIS のレスポンスが常に圧縮される設定にする:画像1

応答ヘッダーのレスポンスを確認します。content-encoding: gzip が指定されることでレスポンスデータの圧縮が確認できますが、 このレスポンスには content-encoding のヘッダーが無いです。
IIS のレスポンスが常に圧縮される設定にする:画像2

このページのCSSファイルのレスポンスヘッダも確認します。
IIS のレスポンスが常に圧縮される設定にする:画像3

CSSのレスポンスヘッダにも、content-encoding: gzip の指定はありません。デフォルトの設定でIISをインストールしており、 [静的コンテンツの圧縮]のモジュールがインストールされていますが、レスポンスデータは圧縮されていません。
IIS のレスポンスが常に圧縮される設定にする:画像4

設定の確認

IISの設定を確認します。[インターネット インフォメーション サービス(IIS) マネージャー]を起動します。 左側のツリービューでサーバーのノードをクリックして選択します。右側の[機能ビュー]から[圧縮]の項目をダブルクリックします。
IIS のレスポンスが常に圧縮される設定にする:画像5

[圧縮]の設定画面が表示されます。
デフォルトの状態では[静的なコンテンツの圧縮を有効にする]のチェックボックスにチェックが付いていることが確認できます。
IIS のレスポンスが常に圧縮される設定にする:画像6

また、[動的なコンテンツの圧縮を有効にする]のチェックボックスがグレーアウトされていることも確認できます。 これは右側のエリアに表示されている下図のメッセージにもある通り、動的なコンテンツの圧縮モジュールがインストールされておらず、 動的なコンテンツ圧縮の設定ができないためです。
メッセージ
動的なコンテンツの圧縮モジュールがインストールされていません。

[静的なコンテンツの圧縮を有効にする]のチェックボックスはチェックが付いており、 静的なコンテンツの圧縮は有効ですが、先ほどの動作確認ではレスポンスは圧縮されていないことがわかります。 これは、ASP.NETやCGIなどのアプリケーションのレスポンスは静的コンテンツではないため、圧縮されないことが原因です。 また、静的なCSSファイルであっても、設定画面で設定されている[次の値より大きいファイルのみ圧縮する]のファイルサイズより大きいファイルでないと圧縮されないこと、 一定のアクセス頻度が無いと圧縮されないため、レスポンスが圧縮されない状態となります。 詳しくはこちらの記事を参照してください。

動的コンテンツの圧縮 をインストールする

動的コンテンツの圧縮機能をインストールして、ASP.NETなどのWebアプリケーションのレスポンスも圧縮するようにIISを設定します。
[サーバー マネージャー]のウィンドウを表示します。左側のメニューの[IIS]の項目をクリックします。
IIS のレスポンスが常に圧縮される設定にする:画像7

[IIS]の項目をクリックすると下図の表示に切り替わります。
IIS のレスポンスが常に圧縮される設定にする:画像8

右側のエリアを下にスクロールします。[役割と機能]のセクションを表示し、右側の[タスク]のコンボボックスをクリックします。 下図のドロップダウンメニューが表示されますので、[役割と機能の追加]の項目をクリックします。
IIS のレスポンスが常に圧縮される設定にする:画像9

[役割と機能の追加ウィザード]ウィンドウが表示されます。[次へ]ボタンおwクリックします。
IIS のレスポンスが常に圧縮される設定にする:画像10

[インストールの種類の選択]画面が表示されます。[役割ベースまたは機能ベースのインストール]のラジオボタンにチェックをつけます。[次へ]ボタンをクリックします。
IIS のレスポンスが常に圧縮される設定にする:画像11

[対象サーバーの選択]画面が表示されます。今回は自身のマシンにインストールしますので、[サーバープール]のエリアに表示されている自分自身のマシン名をクリックして選択します。 選択後[次へ]ボタンをクリックします。
IIS のレスポンスが常に圧縮される設定にする:画像12

[サーバーの役割の選択]画面が表示されます。
[Web サーバー (IIS)] のノードを開いて子ノードを表示します。
IIS のレスポンスが常に圧縮される設定にする:画像13

[Web サーバー (IIS)]の子ノードの[パフォーマンス]のノード内にある、[動的なコンテンツの圧縮]の項目の左側のチェックボックスをクリックします。
IIS のレスポンスが常に圧縮される設定にする:画像14

チェックボックスをクリックすると、ちぇくボックスにチェックが付きます。チェックができたら[次へ]ボタンをクリックします。
IIS のレスポンスが常に圧縮される設定にする:画像15

[インストール オプションの確認]画面が表示されます。[動的なコンテンツの圧縮]の機能がインストールされることを確認し、ウィンドウ右下の[インストール]ボタンをクリックします。
IIS のレスポンスが常に圧縮される設定にする:画像16

インストールが始まります。
IIS のレスポンスが常に圧縮される設定にする:画像17 IIS のレスポンスが常に圧縮される設定にする:画像18

インストールが完了すると、下図の画面になります。[閉じる]ボタンをクリックして、ウィザードを終了します。
IIS のレスポンスが常に圧縮される設定にする:画像19

ウィザードの終了後、マシンを再起動します。

インストールの確認

動的コンテンツの圧縮のモジュールインストール後、再度、インターネット インフォメーション サービス(IIS)マネージャー を開き、サーバーのノードを選択して、 サーバーの圧縮の設定画面を表示します。先ほどはグレーアウトしていた、[動的なコンテンツの圧縮を有効にする]のチェックボックスが有効になっており、チェック状態を変更できる状態になっています。
[動的なコンテンツの圧縮を有効にする]のチェックボックスが無効の場合は、チェックボックスをクリックしてチェックをつけ有効にします。
IIS のレスポンスが常に圧縮される設定にする:画像20

動作確認

[動的コンテンツの圧縮]のモジュールをインストールして有効にした状態で、再度ページにアクセスします。
IIS のレスポンスが常に圧縮される設定にする:画像21

アクセスすると、応答ヘッダーにContent-Encoding: gzipの値が追加されています。レスポンスデータが圧縮されていることが確認できます。
IIS のレスポンスが常に圧縮される設定にする:画像22

同様にCSSファイルのレスポンスヘッダーも確認します。
IIS のレスポンスが常に圧縮される設定にする:画像23

こちらもヘッダーにContent-Encoding: gzipの値が追加されており、圧縮処理が動作していることが確認できます。
IIS のレスポンスが常に圧縮される設定にする:画像24

[動的コンテンツの圧縮]をインストールして、ASP.NET, CGIなどのWebアプリケーションのレスポンスや、サイズが小さくアクセス頻度の低いCSSファイルも圧縮される設定にできました。
このページのキーワード
  • IIS レスポンス 圧縮
  • IIS レスポンス 圧縮されない
AuthorPortraitAlt
著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。
作成日: 2021-08-31
Copyright © 1995–2025 iPentec all rights reserverd.