2016-06-22 9 views
-2

httpで永続的に「キープアライブ」タイマーがあります。HTTPはTCP接続で何の影響を受けますか?

キープアライブ時間が終了したら、何が起こったのですか? tcp接続が終了しますか?私はそう考えていません。なぜなら、exsistというTCP接続には生き続けるからです。

「keep alive http timer」の影響は何ですか?

ポート80でurl(TCP)へのhttp接続を開くと、 はTCP接続が終了するまでサーバーのポートが解放されません。

だから、http keep alive end?

私はそれを理解しようとしました。

私はこれに正式な情報源があればうれしいです。

ありがとうございました!

+0

の後継者です。 TCPが何を意味しているのかが分かりません。接続はいつでも自由に閉じることができます。 – usr

+0

@usr tcp上にキープアライブタイマー https://msdn.microsoft.com/en-us/library/windows/hardware/ff569970(v=vs.85).aspx RFC 1122 この時間にユーザーからのセグメントは、tcp接続が終了します 私は知りたいことがある場合、別の時間:このタイマーが終了する場合、HTTPは生き残っているタイマ(1.0)を維持するTCP接続は終了しますか? 私はこれに正式なソースを見ることができます –

+0

両側が何も送信しないことを選択した場合、TCP接続は永遠に生きています。アイドル状態のTCP接続は永遠に生きることができます。タイマーティッキングはありません。 TCPには切断された接続を検出するkeep alive機能がありますが、HTTPシナリオでオプトインしてオプトインすることはできません。したがって、TCPキープアライブは実際には方程式を入力しません。これは指定されていません。しかし、たとえそれが有効になっていても、接続を終了させ、それを生き続けることはできません。 TCP keep aliveは寿命を短くしますが、長くはしません。 – usr

答えて

1

TCPレベルキープアライブは帯域外で行われるため、これに関連するストリームデータはありません。つまり、ソケットを使用するアプリケーションはTCPキープアライブの効果を認識しないため、アイドル状態の接続はhttpサーバーまたはプロキシによって閉じられます。

また、TCPキープアライブを送信する間隔は、通常、デフォルトでは非常に長く(時間単位)です。キープアライブソケットオプションの詳細はこちらhere on MSDN

HTTPでは、サーバーがクライアントに何かを実行するように要求することはできないため、クライアントが接続を使用しない場合は、接続を閉じるしかありませんまたは開いたままにします。これは通常、サーバーまたはプロキシの構成オプションです。

1

httpで永続的に「キープアライブ」タイマーがあります。

正しいです。それをTCPキープアライブと混同しないでください。これはまったく別のものです(RFC 1122)。私はここでは、あなたのテキストとしてHTTPについて話していると仮定しています。

キープアライブ時間が終了したら、どうなりましたか?

接続は1つのピアによって閉じられます。

tcp接続が終了しますか?

正しいです。

存在するTCP接続には生き残っているので、そうは思わない。

この意味はわかりません。

「keep alive http timer」の影響はありますか?

指定された非アクティブ期間が過ぎると、開いているHTTP接続を閉じます。

私がポート80でurl(TCP)へのhttp接続を開くと、tcp接続が終了するまでサーバーのポートは解放されません。

間違っています。同じリスニングポートに多くの接続を開くことができます。

だから、http keep alive end?

接続が閉じられています。あなたはすでにそれを尋ねました。

正式な情報源があれば幸せになれます。 HTTP 1.1のための

公式のソースはRFC 7230から5、TCP接続は終了しますRFC 2616

関連する問題