Internet Explorer の既定の Keep-Alive タイムアウト値を変更する方法

適用対象: Internet Explorer 11Internet Explorer 10Internet Explorer 9

概要


この資料では、Microsoft Internet Explorer の既定の HTTP keep-alive 値を変更する方法について説明します。

Internet Explorer が、(Connection: Keep-Alive ヘッダーを使用して) Web サーバーに永続的な HTTP 接続を確立した場合、 Internet Explorer は、最初の要求の受信に使用したソケットと同一の TCP/IP ソケットを、そのソケットが 1 分間アイドルになるまで再使用します。 接続が 1 分間アイドルだった場合、Internet Explorer はその接続をリセットします。 その後の要求受信には新しい TCP/IP ソケットが使用されます。 Internet Explorer の HTTP KeepAlive タイムアウト値は変更することができます。

クライアント ブラウザー (Internet Explorer) または Web サーバーのどちらかで、より小さい KeepAlive 値が設定されている場合、その値が制限の要因になります。 たとえば、クライアントのタイムアウトが 2 分で、Web サーバーのタイムアウトが 1 分の場合、最大タイムアウトは 1 分です。 クライアントまたはサーバーのどちらも制限の要因になります。

既定で Internet Explorer には、1 分の KeepAliveTimeout 値と、もう 1 つの制限の要因になる 2 分の (ServerInfoTimeout) 値があります。 どちらの設定も Internet Explorer がソケットをリセットする原因になることがあります。

詳細情報


重要: このセクション、方法、またはタスクには、レジストリの変更方法が記載されています。 レジストリを誤って変更すると、深刻な問題が発生することがあります。 レジストリを変更する際には十分に注意してください。 万一に備えて、編集の前にレジストリをバックアップしてください。 問題が発生した場合でも、レジストリを復元できます。 レジストリのバックアップ方法および復元方法の詳細を参照するには、以下のサポート技術情報番号をクリックしてください。
322756 Windows でレジストリをバックアップおよび復元する方法


1 分間のアイドル後も同じ TCP/IP ソケット経由で Internet Explorer と通信する必要がある Web プログラムを使用している場合、Internet Explorer の永続的な HTTP 接続に対する既定のタイムアウト値を大きくしなければならない場合があります。 Internet Explorer の永続的な HTTP 接続に対する既定のタイムアウト値を変更するには、次のレジストリ キーに KeepAliveTimeout という名前の DWORD 値を追加し、アイドル状態の接続をリセットするまでの Internet Explorer の待機時間 (ミリ秒単位) を値のデータに設定します。
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\InternetSettings
これを行うには、次の手順を実行します。
  1. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。次に、「Regedit」と入力し、[OK] をクリックします。
  2. 次のレジストリ キーを見つけてクリックします。
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\InternetSettings
  3. [編集] メニューの [新規] をポイントし、[DWORD 値] をクリックします。
  4. KeepAliveTimeout」と入力し、Enter キーを押します。
  5. [編集] メニューの [修正] をクリックします。
  6. 適切なタイムアウト値 (ミリ秒単位) を入力して、[OK] をクリックします。 たとえば、タイムアウト値を 2 分に設定する場合は次のとおり入力します。120000
  7. Internet Explorer を再起動します。
KeepAliveTimeout 値を 60,000 (1 分) 未満に設定した場合、永続的な HTTP 接続を必須とする Web サーバーとの通信で問題が発生することがあります。 たとえば、"ページを表示できません" エラー メッセージが表示されることがあります。

120000 (2 分) を超える KeepAliveTimeout 値が必要な場合には、追加のレジストリ キーを作成し、その値に KeepAliveTimeout の値と同じ値を設定する必要があります。 追加するレジストリ キーは ServerInfoTimeout です。 この値 (ミリ秒単位) は DWORD 値で、KeepAliveTimeout と同じ場所に作成します。

たとえば、3 分の KeepAliveTimeout 値を使用するには、次のレジストリ キーを作成する必要があります。
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\InternetSettings

KeepAliveTimeout DWORD 値 180000 (ミリ秒)

ServerInfoTimeout DWORD 値 180000 (ミリ秒)
Internet Explorer では、プロキシ サーバー経由で HTTP 接続を確立した場合以外は、既定で HTTP 1.1 が有効です。 HTTP 1.1 が有効な場合、1 分間アイドルになるまで、またはレジストリの
KeepAliveTimeout 値で指定された値に到達するまで、既定では HTTP 接続は開かれた (または保持された) ままです。 [インターネット オプション] ダイアログ ボックスの [詳細設定] タブを使用して、Internet Explorer の HTTP 1.1 設定を変更することができます。