Keep-Alive header
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.
Der HTTP-Keep-Alive-Anforderungsheader und Antwortheader ermöglicht es dem Absender, Hinweise darauf zu geben, wie eine Verbindung im Hinblick auf eine zeitliche Begrenzung und eine maximale Anzahl von Anfragen genutzt werden kann.
Hinweis:
Damit Keep-Alive einen Effekt hat, muss die Nachricht auch einen Connection: keep-alive-Header enthalten.
HTTP/1.0 schließt die Verbindung standardmäßig nach jeder Anfrage/Antwort-Interaktion, daher müssen in HTTP/1.0 persistente Verbindungen explizit ausgehandelt werden. Einige Clients und Server möchten möglicherweise mit früheren Ansätzen für persistente Verbindungen kompatibel sein und können dies mit einem Connection: keep-alive Anforderungsheader tun. Zusätzliche Parameter für die Verbindung können mit dem Keep-Alive-Header angefordert werden.
Warnung:
Verbindungs-spezifische Header-Felder wie Connection und Keep-Alive sind in HTTP/2 und HTTP/3 verboten.
Chrome und Firefox ignorieren sie in HTTP/2-Antworten, aber Safari hält sich an die Anforderungen der HTTP/2-Spezifikation und lädt keine Antwort, die sie enthält.
| Header-Typ | Anforderungsheader, Antwortheader |
|---|---|
| Verbotener Anforderungsheader | Ja |
Syntax
Keep-Alive: <parameters>
Direktiven
<parameters>-
Eine durch Kommas getrennte Liste von Parametern, wobei jeder Parameter aus einem Bezeichner und einem Wert besteht, die durch das Gleichheitszeichen (
=) getrennt sind. Die folgenden Bezeichner sind möglich:timeout-
Eine Ganzzahl, die die Zeit in Sekunden angibt, die der Host eine inaktive Verbindung geöffnet lässt, bevor sie geschlossen wird. Eine Verbindung ist inaktiv, wenn keine Daten von einem Host gesendet oder empfangen werden. Ein Host kann eine inaktive Verbindung länger als
timeoutSekunden geöffnet lassen, aber der Host sollte versuchen, die Verbindung mindestenstimeoutSekunden aufrechtzuerhalten. max-
Eine Ganzzahl, die die maximale Anzahl von Anfragen angibt, die auf dieser Verbindung gesendet werden können, bevor sie geschlossen wird. Es sei denn, der Wert ist
0, wird dieser Wert für nicht-gepipelinede Verbindungen ignoriert, da eine weitere Anfrage in der nächsten Antwort gesendet wird. Eine HTTP-Pipeline kann es verwenden, um das Pipeline-Verfahren zu begrenzen.
Beispiele
Eine Antwort, die einen Keep-Alive-Header enthält:
HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Encoding: gzip
Content-Type: text/html; charset=utf-8
Date: Thu, 11 Aug 2016 15:23:13 GMT
Keep-Alive: timeout=5, max=200
Last-Modified: Mon, 25 Jul 2016 04:32:39 GMT
Server: Apache
(body)
Spezifikationen
| Spezifikation |
|---|
| HTTP/1.1> # compatibility.with.http.1.0.persistent.connections> |