web-dev-qa-db-ja.com

応答メッセージで「接続:閉じる」とはどういう意味ですか?

クライアントが要求メッセージのConnection: closeヘッダーを使用する場合、これは、応答メッセージの送信後にサーバーが接続を閉じることを要求することを意味します。

このヘッダーは要求メッセージでのみ使用されると思いましたが、応答メッセージでも使用されていることに気付きました。例えば:

enter image description here

このヘッダーは、応答メッセージで使用されるとどういう意味ですか?

これは、クライアントが要求メッセージでConnection: keep-aliveヘッダーを使用した場合でも、応答メッセージを送信した後、サーバーが接続を閉じることを意味すると思います。私は正しいですか?

34
user365656

はい、そうです。サーバーは、「キープアライブ要求はサポートしていません。終了したら接続を閉じます」とだけ言うことができます。

RFC 2616、セクション14.10から:

HTTP/1.1は、送信者が「閉じる」接続オプションを定義します
接続の完了後に接続が閉じられることを示す
応答。例えば、

   Connection: close

要求または応答ヘッダーフィールドのいずれかで、接続が「永続的」と見なされるべきではないことを示します(セクション8.1)
現在のリクエスト/レスポンスが完了した後。

持続的接続をサポートしないHTTP/1.1アプリケーションは、すべてのメッセージに「閉じる」接続オプションを含める必要があります。

33
Sven