Keep-Alive: |
Rester en vie |
---|---|
HTTP | Entêtes |
Syntaxe
Keep-Alive: timeout=seconds, max=maxtime |
Paramètres
Nom | Description |
---|---|
timeout=seconds | Ce paramètre permet d'indiquer la durée minimale pendant laquelle une connexion inactive doit être maintenue ouverte (en secondes). Notez que les délais d'expiration plus longs que le délai TCP peuvent être ignorés si aucun message TCP persistant n'est défini au niveau du transport. |
max=maxtime | Ce paramètre permet d'indiquer le nombre maximum de requêtes pouvant être envoyées sur cette connexion avant de la fermer. À moins de 0, cette valeur est ignorée pour les connexions sans-tuyau car une autre requête sera envoyée dans la réponse suivante. Un tuyau HTTP peut l'utiliser pour limiter le tuyau. |
Description
Ce champ d'entête permet d'indiquer de quel manière doit être gérée la connexion et de quel manière celle-ci peut être utilisée afin de fixer un délai d'attente et une quantité maximale de requêtes.
Remarques
- Dans le HTTP/1.0, chaque connexion est établie par le client avant la requête et fermée par le serveur après l'envoi de la réponse.
- Certains clients et serveurs peuvent souhaiter être compatibles avec ces approches précédentes des connexions persistantes, en négociant explicitement pour eux avec un champ d'entête de requête Connection: keep-alive. Cependant, certaines mises en oeuvres expérimentales de connexions persistantes HTTP/1.0 sont défectueuses; par exemple, si un serveur proxy HTTP/1.0 ne comprend pas Connection:, il transmettra par erreur ce champ d'entête au serveur entrant suivant, ce qui entraînerait une connexion bloquée. Une tentative de solution a été l'introduction d'un champ d'entête Proxy-Connection, ciblant spécifiquement les proxy. En pratique, cette situation était également irréalisable, car les procurations sont souvent déployées en plusieurs couches, ce qui pose le même problème discuté. Par conséquent, les clients sont encouragés à ne pas envoyer le champ d'entête Proxy-Connection: dans les requêtes.
- Les clients sont également encouragés à considérer attentivement l'utilisation de Connection: keep-alive dans les requêtes; bien qu'ils puissent activer des connexions persistantes avec des serveurs HTTP/1.0, les clients les utilisant devront surveiller la connexion pour les demandes bloquées (indiquant que le client doit cesser d'envoyer le champ d'entête), et ce mécanisme ne devrait pas être utilisé par les clients à tout quand un proxy est utilisé.
Exemple
L'exemple suivant permet d'indiquer une connexion inactive de 5 secondes :
Keep-Alive: timeout=5, max=1200
Dernière mise à jour : Vendredi, le 10 janvier 2020