/ /サーバーがHTTP接続に従うべきか:クライアントから送信されたクローズヘッダー? - http、残り、ヘッダー、接続

サーバーがクライアントから送信されたHTTP接続:クローズヘッダーを遵守する必要がありますか? - http、残り、ヘッダー、接続

私は要求を行うときにConnectionヘッダーを次の値に設定するHTTPクライアントを持っています。

   Connection: close

ただし、サーバーが応答を送信するとき、ヘッダーをKeep-Aliveに設定しています。

   Connection: Keep-Alive

これは私には直感的に間違っているように思えます。クライアントがどのようにサーバーからのそのような応答を処理する必要があるのだろうか?また、クライアントが接続のクローズを要求したときに、Keep Aliveでサーバが応答するのはなぜですか?

HTTP RFC:

HTTP / 1.1では、応答が完了した後に接続が閉じられることを送信者が知らせるための「close」接続オプションが定義されています。たとえば、

   Connection: close

要求ヘッダーフィールドか応答ヘッダーフィールドのどちらかに、現在の要求/応答が完了した後に接続が「永続的」(セクション8.1)とみなされてはならないことを示します。

回答:

回答№1の13

それはいいです。 あなたは、永続的な接続をサポートしていないということをサーバーに伝えています。いずれの当事者も接続を閉じるのに完全に有効です。これは、この接続コマンドを閉じる必要はなく、両方がサポートしていることに関するメッセージです。


回答№2の6

クライアントは言う 電流が流れているときに接続を閉じるリクエスト/レスポンスが終了した、つまり、永続的な接続をサポートしていないと言われます。つまり、サーバに接続を閉じるよう指示していません。サーバーは、永続的接続(キープアライブ)をサポートすると応答します。

サーバーに永続的な接続をサポートしていないと言いましたので、応答を読み取ったときに接続を閉じる必要があります。