Connection ヘッダー
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.
HTTP の Connection ヘッダーは、現在のトランザクションが完了したあとも、ネットワーク接続を開いたままにするかどうかを制御します。
送信された値が keep-alive であった場合は、接続が維持されて閉じられず、同一のサーバーに送るべき後続のリクエストで再利用されます。
警告:
Connection や Keep-Alive などの接続固有のヘッダーフィールドは、HTTP/2 および HTTP/3 では禁止されています。Chrome と Firefox は HTTP/2 レスポンスではそれらを無視しますが、Safari は HTTP/2 仕様の要件に準拠しているため、それらを含むレスポンスを読み込みません。
標準のホップバイホップヘッダー (Keep-Alive、Transfer-Encoding、TE、Connection、Trailer、Upgrade、Proxy-Authorization、Proxy-Authenticate) を除き、メッセージで使用しているホップバイホップヘッダーは Connection ヘッダーに列挙する必要があります。これにより、最初のプロキシーは、これらの情報を転送せずに自身で処理しなければならないことを認識できるようになります。
Connection のデフォルト値が、HTTP/1.0 と HTTP/1.1 の間で変更されました。
下位互換性を確保するために、HTTP/1.1 ではデフォルト設定となっているにもかかわらず、ブラウザーはしばしば明示的に Connection: keep-alive を送信します。
| ヘッダー種別 | リクエストヘッダー、レスポンスヘッダー |
|---|---|
| 禁止リクエストヘッダー | はい |
構文
Connection: keep-alive
Connection: close
ディレクティブ
close-
クライアントあるいはサーバーが接続を閉じる意思があることを示します。 これは HTTP/1.0 リクエストの既定の動作です。
- カンマ区切りの HTTP ヘッダーのリスト(通常は
keep-aliveのみ) -
クライアントが接続を開いておく意思があることを示します。接続の維持は HTTP/1.1 のデフォルトの動作です。 ヘッダー名のリストは、介在する最初の非透過プロキシーやキャッシュが削除するヘッダーの名前です。これらのヘッダーは最終的な宛先ノードではなく、送信者と最初のエンティティ間の接続の定義に使用します。
仕様書
| Specification |
|---|
| HTTP Semantics> # field.connection> |