Keep-Alive
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Der HTTP-Keep-Alive
Anforderungs- und Antwortheader erlaubt es dem Sender, Hinweise zu geben, wie eine Verbindung hinsichtlich eines Zeitlimits und einer maximalen Anzahl von Anfragen verwendet werden kann.
Hinweis:
Damit Keep-Alive
eine Wirkung hat, muss die Nachricht auch einen Connection: keep-alive
Header enthalten.
HTTP/1.0 schließt die Verbindung standardmäßig nach jeder Anforderungs-/Antwortinteraktion, sodass für persistente Verbindungen in HTTP/1.0 eine explizite Aushandlung erforderlich ist.
Einige Clients und Server möchten möglicherweise mit früheren Ansätzen für persistente Verbindungen kompatibel sein und können dies durch einen Connection: keep-alive
Anforderungsheader tun.
Zusätzliche Parameter für die Verbindung können mit dem Keep-Alive
Header angefordert werden.
Warnung:
Verbindungsspezifische Headerfelder wie Connection
und Keep-Alive
sind in HTTP/2 und HTTP/3 verboten.
Chrome und Firefox ignorieren sie in HTTP/2-Antworten, aber Safari entspricht den 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 kommagetrennte Liste von Parametern, die jeweils aus einem Bezeichner und einem Wert bestehen, die durch das Gleichheitszeichen (
=
) getrennt sind. Die folgenden Bezeichner sind möglich:timeout
-
Eine ganze Zahl, 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 weder Daten gesendet noch empfangen werden. Ein Host kann eine inaktive Verbindung länger als die
timeout
Sekunden offen halten, aber der Host sollte versuchen, eine Verbindung für mindestens dietimeout
Sekunden aufrechtzuerhalten. max
-
Eine ganze Zahl, die die maximale Anzahl von Anfragen angibt, die bei dieser Verbindung gesendet werden können, bevor sie geschlossen wird. Außer
0
wird dieser Wert für nicht-übertragene Verbindungen ignoriert, da eine andere Anfrage in der nächsten Antwort gesendet wird. Eine HTTP-Pipeline kann ihn verwenden, um das Pipelining 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
Specification |
---|
HTTP/1.1 # compatibility.with.http.1.0.persistent.connections |
Browser-Kompatibilität
Report problems with this compatibility data on GitHubdesktop | mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Keep-Alive |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support