2

表示される Web ページをロードするときに、各画像の HTTP 要求に対して新しい TCP 接続を開くのはなぜですか? ページの読み込み中に単一の TCP 接続が再利用されないのはなぜですか?

4

3 に答える 3

4

ブラウザは通常、コンテンツを並行してロードできるように複数の接続を開くと思います。もう 1 つの可能性は、サーバーが画像ファイルの送信を終了した後に接続を閉じている可能性があるため、ブラウザに新しい接続を強制的に作成させることです。

于 2013-10-26T06:37:14.710 に答える
2

ブラウザには、既存の TCP 接続が複数の HTTP 要求に使用される HTTP パイプラインと呼ばれる手法も組み込まれていますが、問題は、すべての受信 HTTP 応答が、送信された要求と同じ順序でなければならないことです。

HTTP パイプライン:

ここに画像の説明を入力

詳細については、ページをご覧ください

于 2013-10-26T06:41:35.010 に答える
1

すでに引用されている理由のほとんどは真実です(そして私は賛成しました)。つまり、異なる接続を介して異なるリソースを取得する必要があるかもしれません.1つはロゴをロードし、もう1つはページデータをロードします.平行。

それでも、複数の TCP 接続のオーバーヘッドは、http が全体的に遅くなることに影響します。そのため、Google は高速化に取り組んでおり、新しいモデルの http 2.0 は単一の http 接続を使用します。

詳細は数日前にハッカー ニュースに投稿されました。ベンチマークはかなり印象的ですが、プロトコル オーバーヘッドに使用するバイト数が少ないなど、他にもいくつかの要因があります。

SPDYは Google 自身による初期リリースでした

于 2013-10-26T06:54:07.770 に答える