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 Anfrage- und Antwort-Header ermöglicht es dem Absender, Hinweise zu geben, wie eine Verbindung in Bezug auf ein Timeout und eine maximale Anzahl von Anfragen genutzt werden kann.

Hinweis: Damit Keep-Alive Wirkung zeigt, muss die Nachricht auch einen Connection: keep-alive Header enthalten.

HTTP/1.0 schließt die Verbindung nach jedem Anfrage-/Antwort-Austausch standardmäßig, daher müssen persistente Verbindungen in HTTP/1.0 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 Anfrage-Header 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 hält sich an die Anforderungen der HTTP/2-Spezifikation und lädt keine Antwort, die sie enthält.

Header-Typ Anfrage-Header, Antwort-Header
Verbotener Header-Name Ja

Syntax

http
Keep-Alive: <parameters>

Direktiven

<parameters>

Eine durch Komma getrennte Liste von Parametern, die jeweils aus einem Bezeichner und einem durch das Gleichheitszeichen (=) getrennten Wert bestehen. Die folgenden Bezeichner sind möglich:

timeout

Eine ganze Zahl, die die Zeit in Sekunden angibt, die der Host eine inaktive Verbindung offen halten darf, bevor sie geschlossen wird. Eine Verbindung ist inaktiv, wenn kein Datenverkehr vom Host gesendet oder empfangen wird. Ein Host kann eine inaktive Verbindung länger als timeout Sekunden offen halten, aber der Host sollte versuchen, die Verbindung für mindestens timeout Sekunden zu behalten.

max

Eine ganze Zahl, die die maximale Anzahl von Anfragen angibt, die über diese Verbindung gesendet werden können, bevor sie geschlossen wird. Sofern nicht 0, wird dieser Wert bei nicht-überlappenden Verbindungen ignoriert, da eine weitere Anfrage mit der nächsten Antwort gesendet wird. Eine HTTP-Pipeline kann sie verwenden, um das Pipeln zu begrenzen.

Beispiele

Eine Antwort, die einen Keep-Alive Header enthält:

http
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

BCD tables only load in the browser

Siehe auch