1つのことをまっすぐにすることはできません。4.4.5のRFC 2616 には、 Message Length
「 」と判断できると記載されていますBy the server closing the connection.
。
これは、サーバーがヘッダーに no を含む応答で応答する (たとえば、大きな画像を返す) ことは有効であることを意味しますが、クライアントは接続が閉じられるまでContent-Length
フェッチを続け、すべてのデータが既に処理されていると想定する必要があります。ダウンロードしました。
しかし、接続がサーバーによって意図的に閉じられたことをクライアントが確実に知るにはどうすればよいでしょうか? データの送信中にサーバー アプリがクラッシュした可能性があり、サーバーの OS がFIN
パケットを送信して、クライアントとの TCP 接続を適切に閉じる可能性があります。