MyLifestyle’s blog

日々の出来事を気まぐれに記載します。

IE7を増やせ!

          ☆Internet Explorer 7の同時ダウンロード数を増やす☆

IE7では同じサーバから同時にダウンロードできるファイルの数が定められている。これはRFCを順守した仕様ではあるのだけど……。

Inernet Explorer 7では、同一サーバへの同時接続数がHTTP1.1の場合で2つ、HTTP1.0の場合で4つに決められている Internet Explorer 7は、同一サーバへの同時接続数を2つに制限している。つまり、同じサーバからファイルをダウンロードする場合、2つのファイルしか同時にダウンロードできない。これは、HTTP1.1の仕様を提唱しているRFC2616において、同一サーバへの同時接続数を2つまでに制限することを求めているからだ。

 この場合の同時接続数とは、TCPのセッションを意味している。同時接続数が2つというと少なく感じるかもしれないが、HTTP1.1では永続的な接続とパイプラインがサポートされているため、速度的に遅くなることは少ない。具体的には、1つのTCPセッションで複数のリクエストと応答を処理することにより、ネットワークやサーバの負荷を下げ、速度を向上することが可能だ。ただし、同一サーバからファイルをダウンロードするような処理の高速化は行えない。

 現在一般的なHTTPのバージョンは1.1だが、古いサーバの場合はHTTP1.0を利用している場合もある。HTTP1.0では1つのリクエストごとに1つのTCPセッションを確立するため、1ページを表示するために多数のTCPセッションを確立しなければならない。TCPセッションの確立はサーバにもネットワークにも負荷をかける処理で、複数の画像を含むページのようにTCPセッションを多数必要とするページの表示は時間がかかることが多い。HTTP1.0を用いる場合、Internet Explorerの同時接続数は4つに制限されるが、これはHTTP1.0仕様上の制限ではなく、Internet Explorerの自主規制によるものだ。

 こうした規制を設けている理由は、当時(HTTP1.1の公開は1999年)のインターネット環境が低速だったことが大きいが、FTTHADSLによる高速なインターネット環境が主流になった現状(特に日本の現状)には少々そぐわないものになりつつある。

 そこで今回はInternet Explorer 7の同時接続数を増やすカスタマイズ方法を紹介しよう。同時接続数を増やすことにより、動作速度を向上させたり多数のファイルを同時にダウンロードできるようになる。ただし、HTTP1.1の設定を変更することはRFCに違反するため、サーバ側が同時接続を拒否する可能性があるので注意してほしい。また、サーバ側に負荷をかける行為になるので、理由なく同時接続数を増やすべきではないとの見方もある(マイクロソフトも必要な場合以外の使用を認めていない)。ここでは同時接続数を4つに増やす方法を紹介するが、接続するサーバ側の負荷にも配慮し、問題ない場合に限って使うのがよいだろう。

 同時接続数を変更するには、レジストリの編集を行う。具体的には、レジストリエディタから「HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings」にDWORD値を設定する。HTTP1.1の場合は「MaxConnectionsPerServer」というDWORD値を作成して、値を「4」にする。ちなみにHTTP1.0の場合は「MaxConnectionsPer1_0Server」というDWORD値を作成し、同じように同時接続数を指定すればよい。