URL 圧縮 <urlCompression>

概要

<urlCompression> 要素は、IIS 7 以降の静的および動的なコンテンツ圧縮の次の設定を指定します。

  • <urlCompression> 要素の doDynamicCompression 属性は、サイト、アプリケーション、またはフォルダー レベルで動的なコンテンツ圧縮を有効または無効にします。
  • <urlCompression> 要素の doStaticCompression 属性は、サイト、アプリケーション、またはフォルダー レベルで静的なコンテンツ圧縮を有効または無効にします。
  • dynamicCompressionBeforeCache 属性は、IIS がキャッシュされていないコンテンツを動的に圧縮するかどうかを指定します。 dynamicCompressionBeforeCache 属性が true の場合、IIS は最初に要求が行われたときに応答を動的に圧縮し、圧縮のためにコンテンツをキューに入れます。 後続の要求は、圧縮された応答がキャッシュ ディレクトリに追加されるまで動的に処理されます。 圧縮された応答がキャッシュ ディレクトリに追加されると、キャッシュされた応答は、後続の要求のためにクライアントに送信されます。 dynamicCompressionBeforeCachefalse の場合、圧縮された応答がキャッシュ ディレクトリに追加されるまで、IIS は圧縮されていない応答を返します。

Note

出力キャッシュ応答がフラッシュされたときに dynamicCompressionBeforeCache 属性が true の場合、応答が出力キャッシュに格納される前は、動的圧縮は実行されません。 ただし、doDynamicCompression 属性が true の場合、出力キャッシュに応答が入力された後も、動的圧縮が発生します。

互換性

バージョン メモ
IIS 10.0 <urlCompression> 要素は、IIS 10.0 では変更されませんでした。
IIS 8.5 <urlCompression> 要素は、IIS 8.5 では変更されませんでした。
IIS 8.0 <urlCompression> 要素は IIS 8.0 では変更されませんでした。
IIS 7.5 IIS 7.5 では、doDynamicCompression 属性の既定値が false から true に変更されました。
IIS 7.0 <urlCompression> 要素が IIS 7.0 で導入されました。
IIS 6.0 <urlCompression> 要素は、次の IIS 6.0 メタベース プロパティを置き換えます。
  • DoStaticCompression
  • DoDynamicCompression
  • HcDoOnDemandCompression

段取り

HTTP 圧縮は通常、IIS 7 以降の既定のインストールで使用できます。 ただし、既定では静的圧縮のみがインストールされます。 静的または動的圧縮をインストールするには、次の手順を使います。

Windows Server 2012 または Windows Server 2012 R2

  1. タスク バーで [サーバー マネージャー]をクリックします。
  2. [サーバー マネージャー] で、[管理] メニューを選択し、[役割と機能の追加] を選択します。
  3. [役割と機能の追加] ウィザードで、[次へ] をクリックします。 インストールの種類を選択し、[次へ] をクリックします。 対象サーバーを選び、[次へ] をクリックします。
  4. [サーバーの役割] ページで、[Web サーバー (IIS)][Web サーバー] の順に展開し、[パフォーマンス] を展開して、[静的なコンテンツ圧縮] または [動的コンテンツ圧縮]、あるいはその両方を選択します。 次へ をクリックします。
    [静的コンテンツ圧縮] と [動的コンテンツ圧縮] が選択されている [サーバーロール] ページのスクリーンショット。 .
  5. [機能の選択] ページで、[次へ] をクリックします。
  6. [インストール オプションの確認] ページで、[インストール] をクリックします。
  7. [結果] ページで、 [閉じる]をクリックします。

Windows 8 または Windows 8.1

  1. [スタート] 画面で、ポインターを左下隅まで移動し、[スタート] ボタンを右クリックし、[コントロール パネル] をクリックします。
  2. [コントロール パネル][プログラムと機能] をクリックし、[Windows の機能の有効化または無効化] をクリックします。
  3. [インターネット インフォメーション サービス][World Wide Web サービス][パフォーマンス機能] の順に展開し、[動的なコンテンツ圧縮] または [静的なコンテンツ圧縮] を選択します。
    [動的コンテンツ圧縮] と [静的コンテンツ圧縮] が選択されている [Windows 機能] ダイアログのスクリーンショット。
  4. OK をクリックします。
  5. 閉じるをクリックします。

Windows Server 2008 または Windows Server 2008 R2

  1. タスク バーで [スタート] をクリックし、[管理ツール] をポイントして、[サーバー マネージャ] をクリックします。
  2. [サーバー マネージャ] 階層ウィンドウで [役割] を展開し、[Web サーバー (IIS)] をクリックします。
  3. [Web サーバー (IIS)] ウィンドウで、[役割サービス] セクションまでスクロールし、[役割サービスの追加] をクリックします。
  4. ロール サービスの追加ウィザードの [役割サービスの選択] ページで動的圧縮をインストールし、静的圧縮 をインストールする場合はダイナミック圧縮 Content 圧縮をする場合は静的圧縮を選択し、[次へ] をクリック
    [静的コンテンツ圧縮] と [動的コンテンツ圧縮] が選択されている [役割サービスの追加] ウィザードのスクリーンショット。
  5. [インストール オプションの確認] ページで、[インストール] をクリックします。
  6. [結果] ページで、 [閉じる]をクリックします。

Windows Vista または Windows 7

  1. タスク バーで、[スタート][コントロール パネル] の順にクリックします。
  2. [コントロール パネル][プログラムと機能] をクリックし、[Windows の機能の有効化または無効化] をクリックします。
  3. [インターネット インフォメーション サービス][World Wide Web サービス][パフォーマンス機能] の順に展開します。
  4. 動的な圧縮をインストールする場合は [動的 HTTP 圧縮] を選択し、静的なコンテンツ圧縮をインストールする場合は [静的なコンテンツ圧縮] を選択します。
    [Http Compression Dynamic]\(Http 圧縮の動的\) が選択されている [Windows の機能] ダイアログのスクリーンショット。
  5. OK をクリックします。

操作方法

サイトまたはアプリケーションの静的圧縮と動的圧縮を有効または無効にする方法

  1. インターネット インフォメーション サービス (IIS) マネージャーを開きます。

    • Windows Server 2012 または Windows Server 2012 R2 を使用している場合:

      • タスク バーで、[サーバー マネージャー] をクリックし、[ツール][インターネット インフォメーション サービス (IIS) マネージャー] の順にクリックします。
    • Windows 8 または Windows 8.1 を使用している場合:

      • Windows キーを押しながら文字 X を押し、[コントロール パネル] をクリックします。
      • [管理ツール] をクリックし、[インターネット インフォメーション サービス (IIS) マネージャー] をダブルクリックします。
    • Windows Server 2008 または Windows Server 2008 R2 を使用している場合:

      • タスク バーで、[スタート] ボタンをクリックし、[管理ツール][インターネット インフォメーション サービス (IIS) マネージャー] の順にクリックします。
    • Windows Vista または Windows 7 を使用している場合:

      • タスク バーで、[スタート][コントロール パネル] の順にクリックします。
      • [管理ツール] をダブルクリックし、[インターネット インフォメーション サービス (IIS) マネージャー] をダブルクリックします。
  2. [接続] ウィンドウで、圧縮を有効にする接続、サイト、アプリケーション、またはディレクトリに移動します。

  3. [ホーム] ウィンドウで、[圧縮] をダブルクリックします。
    [ホーム] ウィンドウで [圧縮] が選択されているインターネット インフォメーション サービス マネージャーのスクリーンショット。

  4. [圧縮] ウィンドウで、静的圧縮または動的圧縮を有効にするボックスをオンにするか、チェック マークをオフにして静的圧縮または動的圧縮を無効にします。
    動的コンテンツ圧縮と静的コンテンツ圧縮が有効になっている [圧縮] ペインのスクリーンショット。

  5. 前述の手順を完了したら、[操作] ウィンドウで [適用] をクリックします。

サーバーの静的圧縮と動的圧縮を有効または無効にする方法

  1. インターネット インフォメーション サービス (IIS) マネージャーを開きます。

    • Windows Server 2012 または Windows Server 2012 R2 を使用している場合:

      • タスク バーで、[サーバー マネージャー] をクリックし、[ツール][インターネット インフォメーション サービス (IIS) マネージャー] の順にクリックします。
    • Windows 8 または Windows 8.1 を使用している場合:

      • Windows キーを押しながら文字 X を押し、[コントロール パネル] をクリックします。
      • [管理ツール] をクリックし、[インターネット インフォメーション サービス (IIS) マネージャー] をダブルクリックします。
    • Windows Server 2008 または Windows Server 2008 R2 を使用している場合:

      • タスク バーで、[スタート] ボタンをクリックし、[管理ツール][インターネット インフォメーション サービス (IIS) マネージャー] の順にクリックします。
    • Windows Vista または Windows 7 を使用している場合:

      • タスク バーで、[スタート][コントロール パネル] の順にクリックします。
      • [管理ツール] をダブルクリックし、[インターネット インフォメーション サービス (IIS) マネージャー] をダブルクリックします。
  2. [接続] ウィンドウで、サーバーの名前を強調表示します。

  3. サーバーの [ホーム] ウィンドウで、[圧縮] をダブルクリックします。
    サーバーの [ホーム] ウィンドウで [圧縮] が選択されているインターネット インフォメーション サービス マネージャーのスクリーンショット。

  4. [圧縮] ウィンドウで、静的圧縮または動的圧縮を有効にするボックスをオンにするか、チェック マークをオフにして静的圧縮または動的圧縮を無効にします。
    動的コンテンツ圧縮と静的コンテンツ圧縮が有効になっているサーバーの [圧縮] ペインのスクリーンショット。

  5. 前述の手順を完了したら、[操作] ウィンドウで [適用] をクリックします。

staticCompressionIgnoreHitFrequency を構成する方法

  1. インターネット インフォメーション サービス (IIS) マネージャーを開きます。

    • Windows Server 2012 R2 を使用している場合:

      • タスク バーで、[サーバー マネージャー] をクリックし、[ツール][インターネット インフォメーション サービス (IIS) マネージャー] の順にクリックします。
    • Windows 8.1 を使用している場合:

      • Windows キーを押しながら文字 X を押し、[コントロール パネル] をクリックします。
      • [管理ツール] をクリックし、次に [インターネット インフォメーション サービス (IIS) マネージャー] をダブルクリックします。
  2. [接続] ウィンドウでサーバーを選択して、[構成エディター] をダブルクリックします。

  3. 構成エディターのセクションで system.webServer を選択し、httpCompression を選択します。

  4. staticCompressionIgnoreHitFrequency に対し、「True」と入力して、静的ファイルが一定期間内に一定回数ヒットした場合にのみ圧縮される動作を無効にするか、「False」と入力してこの動作を有効にします。
    静的圧縮無視ヒット頻度が True に設定されている [構成エディター] ウィンドウのスクリーンショット。

  5. [操作] ウィンドウで、[適用] をクリックします。

構成

属性

属性 説明
doDynamicCompression 省略可能な Boolean 属性です。

URL に対して動的圧縮を有効にするかどうかを指定します。

注意: IIS 7.0 では、プロセッサ使用率が増加し、Web サーバーの全体的なパフォーマンスが低下する可能性があるため、動的圧縮の使用が既定で無効になりました。 IIS 7.5 では、パフォーマンスが向上するように動的圧縮に変更が加えられたため、IIS 7.5 以降では動的圧縮が既定で有効になっています。

既定値は true です。
doStaticCompression 省略可能な Boolean 属性です。

URL に対して静的圧縮を有効にするかどうかを指定します。

既定値は true です。
dynamicCompressionBeforeCache 省略可能な Boolean 属性です。

現在使用可能な応答を出力キャッシュに格納する前に、動的に圧縮するかどうかを指定します。

既定値は false です。

子要素

なし。

構成サンプル

次の構成サンプルでは、静的圧縮を有効にし、既定の Web サイトの動的圧縮を無効にします。

<configuration>
   <system.webServer>
      <urlCompression doStaticCompression="true" doDynamicCompression="false" />
   </system.webServer>
</configuration>

サンプル コード

次のコード サンプルでは、静的圧縮を有効にし、既定の Web サイトの動的圧縮を無効にします。

AppCmd.exe

appcmd.exe set config "Default Web Site" -section:system.webServer/urlCompression /doDynamicCompression:"False" 

appcmd.exe set config "Default Web Site" -section:system.webServer/urlCompression /doStaticCompression:"True"

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using (ServerManager serverManager = new ServerManager())
      {
         Configuration config = serverManager.GetWebConfiguration("Default Web Site");

         ConfigurationSection urlCompressionSection = config.GetSection("system.webServer/urlCompression");
         urlCompressionSection["doStaticCompression"] = true;
         urlCompressionSection["doDynamicCompression"] = false;

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample

   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetWebConfiguration("Default Web Site")

      Dim urlCompressionSection As ConfigurationSection = config.GetSection("system.webServer/urlCompression")
      urlCompressionSection("doStaticCompression") = True
      urlCompressionSection("doDynamicCompression") = False

      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site";

var urlCompressionSection = adminManager.GetAdminSection("system.webServer/urlCompression", "MACHINE/WEBROOT/APPHOST/Default Web Site");
urlCompressionSection.Properties.Item("doStaticCompression").Value = true;
urlCompressionSection.Properties.Item("doDynamicCompression").Value = false;

adminManager.CommitChanges();

VBScript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site"

Set urlCompressionSection = adminManager.GetAdminSection("system.webServer/urlCompression", "MACHINE/WEBROOT/APPHOST/Default Web Site")
urlCompressionSection.Properties.Item("doStaticCompression").Value = True
urlCompressionSection.Properties.Item("doDynamicCompression").Value = False

adminManager.CommitChanges()