ホームページ > 記事 > ウェブフロントエンド > HTTP 永続接続とパイプライン
1. 永続的な接続とは何ですか? (キープアライブモード)
HTTP1.1 では、デフォルトの接続が長時間接続 (HTTP 永続接続、永続接続とも訳されます) を維持することを規定しており、データ送信が完了した後、TCP 接続は切断されません (RST パケットはありません)。が送信され、4 ウェイ ハンドシェイクは送信されません)、待機します。このチャネルを引き続き使用して、同じドメイン名でデータを送信します。その逆は、短い接続です。
HTTP バージョン 1.1 は永続的な接続をサポートしますが、バージョン 1.0 はサポートしません。
非永続的な接続との違い:
永続的な接続により、クライアントとサーバー間の接続が有効なままになり、接続を再確立する必要がなくなります。接続の確立と終了の遅延が大幅に減少します。 HTTP 接続は TCP プロトコルに基づいています。TCP 接続の確立には 3 回のハンドシェイクが必要で、TCP 接続の終了には 4 回のウェーブが必要です。これらはすべて時間がかかります。
2. パイプラインとは パイプライン メカニズムは、永続的な接続を通じて完了する必要があります (HTTP/1.0 はサポートしません)
永続的な接続を使用する場合、特定の接続メッセージの配信は
リクエスト 1 -> リクエスト 2 -> リクエスト 2 と同様です。
リクエスト 1 -> リクエスト 2 -> リクエスト3 -> 応答 1 -> 応答 2 -> 応答 3
a 永続的接続の欠点の 1 つは、リクエストと応答が連続していることです。実行されると、リクエスト 2 はリクエスト 1 への応答が受信された後にのみ送信され、パイプライン化では次のリクエストに進むために前のリクエストの応答を待つ必要はありません。リクエストの送信を並行して実装します。
b. パイプライン化できるのは GET および HEAD 要件のみですが、POST は制限されています
c. 相手 (サーバー) が必ずしもサポートしているとは限らないため、パイプライン メカニズムを開始しないでください。 HTTP/1.1 バージョンのプロトコル。HTTP1.1 では、サーバーがパイプライン処理をサポートする必要がありますが、パイプライン要求が失敗しないことだけが必要です。また、エージェントはパイプライン処理を必要としません。サポートは良好ではなく、最新のブラウザーである Chrome と Firefox はデフォルトでパイプライン サポートを有効にしません。
以上がHTTP 永続接続とパイプラインの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。