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 サーバー] の順に展開し、[パフォーマンス] を展開して、[静的なコンテンツ圧縮] または [動的コンテンツ圧縮]、あるいはその両方を選択します。 次へ をクリックします。
    Screenshot of the Server Roles page with Static Content Compression and Dynamic Content Compression selected.
  5. [機能の選択] ページで、[次へ] をクリックします。
  6. [インストール オプションの確認] ページで、[インストール] をクリックします。
  7. [結果] ページで、 [閉じる]をクリックします。

Windows 8 または Windows 8.1

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

Windows Server 2008 または Windows Server 2008 R2

  1. タスク バーで [スタート] を選択し、[管理ツール] をポイントして、[サーバー マネージャー] を選択します。
  2. [サーバー マネージャー] 階層ウィンドウで [ロール] を展開し、[Web サーバー (IIS)] を選択します。
  3. [Web サーバー (IIS)] ウィンドウで、[役割サービス] セクションまでスクロールし、[役割サービスの追加] を選択します。
  4. 役割サービスの追加ウィザード[役割サービスの選択] ページで、動的なコンテンツ圧縮をインストールする場合は [動的なコンテンツ圧縮] を選択し、静的なコンテンツ圧縮をインストールする場合は [静的なコンテンツ圧縮] を選択し、[次へ] を選択します。
    Screenshot of the Add Role Services Wizard with Static Content Compression and Dynamic Content Compression selected.
  5. [インストール オプションの確認] ページで、[インストール] をクリックします。
  6. [結果] ページで、 [閉じる]をクリックします。

Windows Vista または Windows 7

  1. タスク バーで、[スタート][コントロール パネル] の順に選択します。
  2. [コントロール パネル][プログラムと機能] を選択し、[Windows の機能の有効化または無効化] を選択します。
  3. [インターネット インフォメーション サービス][World Wide Web サービス][パフォーマンス機能] の順に展開します。
  4. 動的な圧縮をインストールする場合は [動的 HTTP 圧縮] を選択し、静的なコンテンツ圧縮をインストールする場合は [静的なコンテンツ圧縮] を選択します。
    Screenshot of the Windows Features dialog with Http Compression Dynamic selected.
  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. [ホーム] ウィンドウで、[圧縮] をダブルクリックします。
    Screenshot of the Internet Information Services Manager with Compression selected in the Home pane.

  4. [圧縮] ウィンドウで、静的圧縮または動的圧縮を有効にするボックスをオンにするか、チェック マークをオフにして静的圧縮または動的圧縮を無効にします。
    Screenshot of the Compression pane with dynamic content compression and static content compression enabled.

  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. サーバーの [ホーム] ウィンドウで、[圧縮] をダブルクリックします。
    Screenshot of the Internet Information Services Manager with Compression selected in the server's Home pane.

  4. [圧縮] ウィンドウで、静的圧縮または動的圧縮を有効にするボックスをオンにするか、チェック マークをオフにして静的圧縮または動的圧縮を無効にします。
    Screenshot of the server's Compression pane with dynamic content compression and static content compression enabled.

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

staticCompressionIgnoreHitFrequency を構成する方法

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

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

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

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

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

  4. staticCompressionIgnoreHitFrequency に対し、「True」と入力して、静的ファイルが一定期間内に一定回数ヒットした場合にのみ圧縮される動作を無効にするか、「False」と入力してこの動作を有効にします。
    Screenshot of the Configuration Editor pane with static Compression Ignore Hit Frequency set to 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()