2009-04-07 21 views
1

2つの関連質問:ブラウザでの同時ファイルダウンロードの最大数?

  1. Webページが(例えば、画像、CSSファイルなど)を開くことを許可された同時ファイルの最大数は何ですか?私は、この値がブラウザによって異なっていると仮定しています(ファイルタイプによって異なるかもしれません)。たとえば、javascriptファイルは一度に1つしか読み込むことができないと確信しています(そうですか?)。

  2. 私はこの情報を照会するためにjavascriptを使用できますか?

答えて

5

サーバの制限ごとにX接続を回避する興味深い方法の1つは、スクリプトや画像などの静的リソースを独自のドメインimg.foo.comまたはjs.foo.comにマップすることです。

私はこれについて読んだだけです。実際に試したりテストしたりしていません。だから、これがうまくいかない場合は私に知らせてください。

+0

Googleマップにはマップタイルをダウンロードするためのサブドメインが4つ以上あります。これはすべて同じ情報です(同じソースのエイリアスだけです)が、ブラウザはソースドメインごとに1つの接続を開き、接続の高速化のためには時間のための純粋な勝利です。 –

1
  1. これは、サーバとブラウザの制限もあります。一般的なネチケットは4つ以上の同時接続が許容されないことを保有しています。ほとんどのサーバーでは、デフォルトで最大2つの接続が許可されており、ほとんどのブラウザは適合しています。ほとんどは設定可能です。
+0

これはサーバーでの制限であり、ブラウザーによる制限ではありません。たとえば、Firefoxではデフォルトでサーバごとに15の接続が可能です。 – Guffa

0

私は、少なくともFirefoxで、この値は(network.http.max-connectionsnetwork.http.max-connections-per-server、およびnetwork.http.pipelining.maxrequests)設定可能ですので、私はあなたがこのいずれかの決定的な答えを得るでしょう疑う知っています。ただし、デフォルトは4です。

あなたは何を達成しようとしていますか?

+0

現在のデフォルトは4ですが、これらのデフォルトを増やす動きはありますが、ほとんどのブラウザでは4です。 –

1

通常、制限はWebサーバーです。 Webサーバーでは、ユーザーあたり2回の同時ダウンロードしか許可されないことが一般的です。

ASP.NETなどのアクティブなスクリプトエンジンは、1人のユーザーにつき1つの要求しか実行しません。静的ファイルのリクエストはスクリプトエンジンによって処理されないため、aspxファイルを取得している間もイメージなどを取得できます。

ページにはトラフィック測定スクリプトなどの異なるサーバーのコンテンツが含まれることがよくあります。ダウンロード制限はサーバーごとに行われるため、通常は各サーバーから一度に2つのファイルをダウンロードできます。

これはサーバーの制限事項であるため、javascriptを使用してそのことについて何も調べることはできません。

6

Internet Explorerの場合は、this MSDN articleを参照してください。基本的に、ユーザーがレジストリを編集したり、インターネット高速化プログラムを実行したりしない限り、IE7以前を使用している場合、最大2つの接続を持つことになります。 IE8はそれについて賢明にしようとし、サーバーとインターネット接続のタイプに応じて最大6つの同時接続を作成できます。 JavaScriptのIE8では、window.maxConnectionsPerServerを照会することができます。

Firefoxの場合、デフォルトはFF2以前で2、FF3では6です。 Mozilla documentationを参照してください。 FFのJavaScriptからこの値を取得することは、私には分かりません。

ほとんどのHTTPサーバーでは、IPを禁止する以外に、1つのホストからの接続数を制限する機能はほとんどありません。一般的には、これは良い考えではありません。多くのユーザーがプロキシやNATルーターの背後にいるため、同じIPアドレスからの複数の接続が可能になります。

クライアント側では、複数のドメインからリソースを要求することにより、この量を人為的に増やすことができます。あなたはwww1、www2などを設定することができます。エイリアスはすべて同じWebサーバーを指します。その後、静的コンテンツがどこから引き出されているかを混ぜ合わせます。これは余分なDNS解決のためにわずかなオーバーヘッドが最初に発生します。

0

セッション数を制限するHTTPには何もありません。

ただし、1つのサーバーに合計セッション数と1つのサーバーに許可されるセッション数を設定するFFの構成項目があります。他のブラウザにもこの機能があります。

さらに、サーバーは、完全に各クライアントIPアドレスから入ってくるセッション数を制限することができます。

だから、正しい答えは次のとおりです。

1 /数がセッションでクライアント(ブラウザ)とサーバによって課されるものの最小値に制限されています。

2 /これにより、JavaScriptでクエリを実行する信頼できる方法はありません。

関連する問題