En-tête Connection
Baseline
Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
L'en-tête HTTP Connection contrôle la façon dont la connexion reste ouverte ou non après que la transaction courante soit terminée.
Si la valeur envoyée est keep-alive, la connexion est persistente et n'est pas fermée, permettant aux requêtes qui suivent et s'adressent au même serveur d'être envoyées.
Attention :
Les en‑têtes spécifiques à la connexion, tels que Connection et Keep-Alive, sont interdits dans HTTP/2 (angl.) et HTTP/3 (angl.).
Chrome et Firefox les ignorent dans les réponses HTTP/2, mais Safari se conforme aux exigences de la spécification HTTP/2 et ne charge aucune réponse qui les contient.
Tous les en‑têtes hop-by-hop, y compris les en‑têtes standard de point à point (Keep-Alive, Transfer-Encoding, TE, Connection, Trailer, Upgrade, Proxy-Authorization et Proxy-Authenticate) doivent être listés dans l'en‑tête Connection, afin que le premier proxy sache qu'il doit les consommer et ne pas les transmettre plus loin.
La valeur par défaut de Connection a changé entre HTTP/1.0 et HTTP/1.1.
Par conséquent, pour assurer la rétrocompatibilité, les navigateurs envoient souvent explicitement Connection: keep-alive, même si c'est la valeur par défaut en HTTP/1.1.
| Type d'en-tête | En-tête de requête, En-tête de réponse |
|---|---|
| En-tête de requête interdit | Oui |
Syntaxe
Connection: keep-alive
Connection: close
Directives
close-
Indique que le client ou que le serveur souhaite fermer la connexion. C'est la valeur par défaut pour les requêtes en HTTP/1.0.
- Une liste d'en-têtes HTTP séparés par des virgules (généralement, la valeur
keep-aliveseule) -
Indique que le client souhaite que la connexion reste ouverte. Une connexion persistente est le comportement par défaut pour les requêtes HTTP/1.1. La liste des en-têtes sont le nom des en-têtes à retirer par le premier proxy ou cache non-transparent entre le client et le serveur : ces en-tête définissent la connexion entre l'émetteur et la première entité (pas jusqu'au nœud de destination).
Spécifications
| Specification |
|---|
| HTTP Semantics> # field.connection> |