良いプログラマは、キープアライブキープアライブとHTTP-TCPとの違いを共有します

キープアライブとHTTP-TCP間のキープアライブの違い

1、HTTPキープアライブ

  初期のHTTPでは、各オープンhttpリクエストは、一回の使用後、TPCソケットコネクタを必要とし、TCP接続を切断します。

  使用すると、TCP接続が切断されることなく、複数のデータを送信し続けることができたキープアライブ状態を向上させることができます。キープアライブ機構を使用することによって、それは、TCP接続の数が確立され、状態も少ないTIME_WAITの接続を意味減少従って、性能を改善し、スループットのhttpdサーバを高めます。

  ただし、キープアライブそれはフリーランチはない、長い時間のためのTCP接続が簡単にシステムリソースを占有無効につながることができます。キープアライブの誤った配分は、接続の再利用による損失よりも大きくなります。したがって、正しいセットキープアライブタイムアウト時間は非常に重要です。

2、TCPキープアライブ

  リンクが確立された後、そして長い時間のために何のデータパケットの送信が終了して、存在しない他の側にも、オンラインのリンクは本当に何も落とし通話やデータでない場合にどのように決定するか、アプリケーションまたは上位層プロトコルは、データを送信していない、または長い間隔でデータだけ一度行った場合伝送リンクは、TCPプロトコルの設計にこのケースを維持する必要がない必要を考慮に入れる必要があります。

  相手がこのメッセージに応答する場合には時間をかけて、TCPは自動的に他の側も、オンラインのリンクが残っていることを示す、他の側を空にするために、データパケットを送信するときに、特に巧妙な方法によってこの問題を解決するためのTCPプロトコル相手がパケットを返し、リンクが失われたとみなされた後、数回を再試行していない場合は、リンクを維持する必要はありません。

3、keepalvieタイムアウト

  httpdデーモンは、一般的にパラメータを設定するキープアライブタイムアウト時間を提供します。たとえば、nginxののkeepalive_timeout、およびApacheのKeepAliveTimeout。このkeepalive_timout時間値の意味:最後の応答後転送後に生成されたTCP接続のhttpをするだけでなく、後のライブkeepalive_timeout秒を保持し、私は接続を閉じるようになりました。

  応答を送信した後httpdデーモンの後、すぐに対応するTCPコネクションをクローズするためのイニシアチブを取る必要があり、keepalive_timeoutを設定した後、httpdデーモンは言います:「分ブラウザを待って、来て要求がない参照」、もう一つはkeepalive_timeout時間。待機時間中にデーモンが、決して受け取ったブラウザが私にHTTPリクエストを送信した場合は、HTTP接続を閉じます。

4、TCPキープアライブタイマー保全

  HTTPは、名前が示すように、オブジェクトは、同じ接続にHTTPリクエストを複数送信するために、接続時間を延長することで、キープアライブです。HTTPサーバは、通常の接続が長いまま決定するために使用するキープアライブタイムアウトパラメータを提供し、接続が閉じているとき。ときに接続キープアライブ機能、クライアントから送信された要求に対して、サーバーは、応答を送信しない、その後、カウントを開始し、タイムアウト後の経過時間あれば、クライアントはもはや先送り接続サーバを介して要求を送信しますもはや接続されて残っていません。

  TCPキープアライブは、タイムリーな接続を閉じるために例外がある場合も例外は、発生はありませんお互いを確認することを目的とした詐欺、です。ときは、当事者の伝​​送は、双方がどのようなデータ接続はまた、それが有効であった交換していない場合でも、接続を閉じるためのイニシアチブを取ることはありません。この時間は、接続が利用できない引き起こした場合、どのようにこのエンド異常終了に関する情報、中間ネットワーク?答えは、キープアライブタイマーです。それは時々アウトの時間で、それは、設定された時間以上のアイドルならば、それはプローブパケットを送信すると、接続がタイムアウト後にあまりにも長い間アイドル状態にあるかどうかを確認します。正常でない場合、予想される応答は、ピアが正常かどうかを決定するかどうかを、側によって応答する、接続がオフHTTP層を待たずに、主導権を握るために閉じられます。サーバがプローブパケットを送信すると、クライアントは、4つの異なる状況下にあってもよい:通常どおり、崩壊したオペレーティング、なぜなら中間リンクの問題到達不能、クラッシュして再起動しました。異なる状況下では、サーバが同じフィードバックを得ることはありません。

5、HTTPキープアライブ与TCPキープアライブ

  HTTPキープアライブおよびTCPキープアライブではなく、同じこと、意図は同じです。HTTPキープアライブTCPソケットの効率を向上させる、同じ接続上で複数のHTTPを送信するために、少し長生きできるようにすることです。そして、保存はTCPのメカニズムを検出するTCPキープアライブTCP接続状態です。

おすすめ

転載: www.cnblogs.com/gcghcxy/p/10944804.html