Internet Explorer 8 における接続性の強化
Internet Explorer 8 には、接続性に関するいくつかの重要な強化が含まれており、これにより、非同期 JavaScript と XML (AJAX)、およびその他の Web アプリケーションのパフォーマンスと機能を向上できます。 これらの強化には、単一ホストからの最大同時接続数の増加や、接続イベントの追加が含まれます。
このトピックは、次の各セクションで構成されています。
- 同時接続
- さまざまな背景
- スクリプト可能な新しい接続プロパティ
- 最大同時接続数の変更
- 接続ステータスの機能向上
- 新しいオンライン プロパティ機能
- 新しい簡単なイベント
- 新しいコールバック ハンドラー
- 関連トピック
同時接続
Internet Explorer 8 では、単一ホスト プロセスから単一サーバーへのブロードバンド経由の最大同時接続数が 6 に増加しました。Internet Explorer 7 以前では、単一ホスト プロセスから単一サーバーへの HTTP 1.1 経由の最大同時接続数は 2 です。HTTP 1.0 の場合の制限は 4 ですが、現在では HTTP 1.1 接続が一般的です。 単一ホスト プロセスから単一サーバーへのダイヤルアップ経由 (モデムを使用して電話線を経由する場合など) の最大同時接続数は、Internet Explorer 7 以前と同じです。
次の表は、ホストで動作する Internet Explorer バージョン、ホストの接続速度、サーバーでサポートされるプロトコル バージョンに基づく最大同時接続数の概要を示しています。
さまざまな背景
HTTP 1.0 の接続制限は、当時の他のほとんどのブラウザーの動作に合わせて 4 に設定されていましたが、HTTP 1.1 仕様 (Request for Comment 2616) で確立された指図によって HTTP 1.1 の接続制限は 2 に設定されました。 その標準の最初のドラフトが作成された当時 (1997 年 1 月) は、ダイヤルアップによるインターネット接続が主流であり、ブロードバンド接続はまれであったため、接続制限は 2 が適切でした。
ただし、HTTP 1.1 標準のドラフトが作成された以降、高帯域幅の接続が一般的になったため、クライアント側の帯域幅は接続速度の決定要因ではなくなりました。 通常、接続のセットアップおよび要求の送信に必要な時間のほとんどは、個々のオブジェクトを取得するために費やされる時間です。 また、現在の Web サーバーとプロキシ サーバーの機能向上により、ホストあたりの接続数の増加によってネットワーク インフラストラクチャの負担が増大するリスクは軽減されます。 多くの AJAX アプリケーションとページが大量のデータを非同期で送信しますが、これらの人気の高まりを考えると、ホストあたりの接続数を増加する必要性は特に強くなります。
スクリプト可能な新しい接続プロパティ
以前の制限を回避するための対策を実装している場合、この新しい動作との互換性に関して懸念が生じる場合があります。 その場合、Web サーバーの負担が増大することを避けるため、各クライアント コンピューターにおいて同時オープンが可能な接続数に基づいてコンテンツ配信を調整できます。 このために、Internet Explorer 8 には window. maxConnectionsPerServer オブジェクトが含まれます。これを使用すると、クライアント コンピューターで使用できる接続の数をサーバーで決定できます。
Internet Explorer 8 では、ブロードバンド接続の場合、maxConnectionsPerServer に 6
が返されます。ただし、ユーザーまたは管理者が既定値を上書きした場合を除きます。 クライアント コンピューターがダイヤルアップ経由で HTTP 1.1 サーバーに接続する場合、maxConnectionsPerServer には 2
が返されます。HTTP 1.0 サーバーに接続する場合は 4
が返されます。
最大同時接続数の変更
ページの読み込み時間の問題に直面したユーザーまたは管理者は、単一サーバーへの最大同時接続数を変更することができます。 1 番目の方法では、選択した値に制限を変更できます。 2 番目の方法では、グループ ポリシーを使用して制限を変更します。
重要 : このセクションにはレジストリの変更方法に関する情報が含まれています。 レジストリを変更する前に、レジストリを必ずバックアップしてください。 また、問題が発生した場合のレジストリの復元方法を必ず確認してください。 レジストリのバックアップ、復元、および変更方法の詳細については、マイクロソフト サポート技術情報の「Windows でレジストリをバックアップおよび復元する方法」 (英語の可能性あり) を参照してください。
方法 1 : 機能コントロール キーを使用して値を変更する
Regedit を開始します。
HTTP 1.1 接続の場合、次の機能コントロール キーに移動します。 存在しない場合は、作成します。
HKEY_LOCAL_MACHINE (または HKEY_CURRENT_USER)
SOFTWARE
Microsoft
Internet Explorer
MAIN
FeatureControl
FEATURE_MAXCONNECTIONSPERSERVER注 : FEATURE_MAXCONNECTIONSPERSERVER は、HKEY_LOCAL_MACHINE または HKEY_CURRENT_USER 内の同じ場所で変更または追加ができます。 結果は同じです。
iexplore.exe
と呼ばれる新しい DWORD を作成し、その値データを、HTTP 1.1 接続で必要な接続制限に設定します。 たとえば、値を0000002
に設定すると、Internet Explorer 7 以前の制限と同じになります。HTTP 1.0 接続の場合、次の機能コントロール キーに移動します。 存在しない場合は、作成します。
HKEY_LOCAL_MACHINE (または HKEY_CURRENT_USER)
SOFTWARE
Microsoft
Internet Explorer
MAIN
FeatureControl
FEATURE_MAXCONNECTIONSPER1_0SERVER注 : FEATURE_MAXCONNECTIONSPER1_0SERVER は、HKEY_LOCAL_MACHINE または HKEY_CURRENT_USER 内の同じ場所で変更または追加ができます。 結果は同じです。
iexplore.exe
と呼ばれる新しい DWORD を作成し、その値データを、HTTP 1.0 接続で必要な接続制限に設定します。 たとえば、値を0000004
に設定すると、Internet Explorer 7 以前の制限と同じになります。
方法 2 : グループ ポリシーを使用して値を変更する
このセクションで説明しているように、グループ ポリシーを使用して単一サーバーへの最大同時接続数を変更できます。 最も簡単な方法は、グループ ポリシー エディターを使用することです。これは 1 番目に説明します。 機能コントロール キーを編集することもできます。これは 2 番目に説明します。
グループ ポリシー エディターによる方法
- gpedit.msc を実行します。
- [ユーザーの構成] (または [コンピューターの構成])、[管理用テンプレート]、[Windows コンポーネント]、[Internet Explorer]、[セキュリティの機能]、[AJAX] の順に展開します。
- 必要な設定に従って、サーバーごとの最大接続数 (HTTP 1.0) とサーバーごとの最大接続数 (HTTP 1.1) を設定します。 ポリシーを更新するかコンピューターを再起動して、変更を適用する必要があります。
機能コントロール キーによる方法
Regedit を開始します。
HTTP 1.1 接続の場合、次の機能コントロール キーに移動します。 存在しない場合は、作成します。
HKEY_LOCAL_MACHINE (または HKEY_CURRENT_USER)
SOFTWARE
Policies
Microsoft
Internet Explorer
MAIN
FeatureControl
FEATURE_MAXCONNECTIONSPERSERVER注 : FEATURE_MAXCONNECTIONSPERSERVER は、HKEY_LOCAL_MACHINE または HKEY_CURRENT_USER 内の同じ場所で変更または追加ができます。 結果は同じです。
iexplore.exe
と呼ばれる新しい DWORD を作成し、その値データを、HTTP 1.1 接続で必要な接続制限に設定します。 たとえば、値を0000002
に設定すると、Internet Explorer 7 以前の制限と同じになります。HTTP 1.0 接続の場合、次の機能コントロール キーに移動します。 存在しない場合は、作成します。
HKEY_LOCAL_MACHINE (または HKEY_CURRENT_USER)
SOFTWARE
Policies
Microsoft
Internet Explorer
MAIN
FeatureControl
FEATURE_MAXCONNECTIONSPER1_0SERVER注 : FEATURE_MAXCONNECTIONSPER1_0SERVER は、HKEY_LOCAL_MACHINE または HKEY_CURRENT_USER 内の同じ場所で変更または追加ができます。 結果は同じです。
iexplore.exe
と呼ばれる新しい DWORD を作成し、その値データを、HTTP 1.0 接続で必要な接続制限に設定します。 たとえば、値を0000004
に設定すると、Internet Explorer 7 以前の制限と同じになります。
接続ステータスの機能向上
Internet Explorer 8 では、ページまたはアプリケーションで、ブラウザーにネットワーク接続が存在するかどうかを照会できます。 Internet Explorer 7 以前に、この機能はありません。したがって、ユーザーのコンピューターの接続が切断されると、望ましくない動作が起こる可能性があります。
新しいオンライン プロパティ機能
onLine プロパティ (window. navigator オブジェクトと window. clientInformation オブジェクトのプロパティ) は、Microsoft Internet Explorer 4.0 から使用できます。 ただし、Internet Explorer 4.0 から Internet Explorer 7 では、onLine プロパティによって示されるのは、システムが "グローバル オフライン モード" かどうかのみです。このモードは、[ファイル] メニューの [オフライン作業] をクリックして起動します。 これらのバージョンでは、onLine プロパティによって、システムがネットワークに接続しているかどうかは示されません。 しかし、Internet Explorer 8 では、onLine プロパティによって、システムがネットワークに実際に接続しているかどうかが示されます。
ネットワークの接続ステータスを照会するには、window.navigator.onLine を呼び出します。 このプロパティは、システムがネットワークに接続している場合に true を返し、ネットワークに接続していない場合に false を返します。
新しい簡単なイベント
ページが読み込まれた後に window.navigator.onLine プロパティが変更されると、ページの body 要素で次のような簡単なイベントが発生します。
- onLine が true から false に変更された場合、body 要素でオフラインの簡単なイベントが発生します。
- onLine が false から true に変更された場合、body 要素でオンラインの簡単なイベントが発生します。
HTML 要素でのイベントの発生については、World Wide Web コンソーシアム (W3C) の Web サイトで「HTML 5 (ワーキング ドラフト)」 (英語の可能性あり) を参照してください。 2008 年 11 月の時点で、このオンライン イベントとオフライン イベントは W3C HTML 5 ワーキング ドラフトに準拠します。
接続イベントは、機能コントロール キーを使用して無効にできます。 これを行うには、次の手順を実行します。
Regedit を開始します。
次の機能コントロール キーに移動します。 存在しない場合は、作成します。
HKEY_LOCAL_MACHINE (または HKEY_CURRENT_USER)
SOFTWARE
Microsoft
Internet Explorer
MAIN
FeatureControl
FEATURE_AJAX_CONNECTIONEVENTS注 : FEATURE_AJAX_CONNECTIONEVENTS は、HKEY_LOCAL_MACHINE または HKEY_CURRENT_USER 内の同じ場所で変更または追加ができます。 結果は同じです。
iexplore.exe
と呼ばれる新しい DWORD を作成し、その値データを0000000
に設定します。
レジストリ キーを作成した後に、接続イベントを再度有効にする場合は、iexplore.exe
の値を 0000001
に設定できます。
新しいコールバック ハンドラー
接続ステータスの変更を示すために、Internet Explorer 8 では次のコールバック ハンドラーが導入されます。
- たとえば、ネットワーク ケーブルが外れたり、ネットワーク アダプターが無効になったりして、ユーザーのコンピューターがネットワーク接続を失うと、onoffline ハンドラーが立ち上がります。 また、このハンドラーは、[オフライン作業] 設定をオンに切り替えても立ち上がります。
- ononline ハンドラーは、コンピューターのネットワーク接続が再開されると立ち上がります。 また、このハンドラーは、[オフライン作業] 設定をオフに切り替えても立ち上がります。