Was ist KeepAlive?
KeepAlive bezeichnet eine Kommunikationsform in vernetzten Systemen, bei der Geräte oder Software regelmäßig Signale austauschen, um zu überprüfen, ob die Verbindung zwischen ihnen aktiv bleibt. In vordefinierten Abständen sendet eine Seite KeepAlive-Signale, die der Empfänger als Bestätigung interpretiert, dass die Verbindung normal funktioniert. Werden für eine gewisse Zeit keine KeepAlive-Signale empfangen, geht das System von einem Verbindungsabbruch aus und leitet Prozesse wie das Schließen des Kommunikationskanals, das Beenden der Sitzung oder die Wiederherstellung der Verbindung ein.
In TCP ist die Funktion als TCP KeepAlive bekannt. Auf der Serverseite gibt diese Funktion automatisch Ressourcen frei, die an Verbindungen mit Clients gebunden sind, die nicht mehr erreichbar sind. Auf der Clientseite ermöglicht TCP KeepAlive automatische Wiederverbindungen, beispielsweise wenn sich die IP-Adresse des Servers aufgrund eines Failovers ändert.
In HTTP wird eine KeepAlive-Funktion bereitgestellt, um die TCP-Verbindung zwischen Client und Server explizit aufrechtzuerhalten. Dadurch wird die Anzahl der erforderlichen TCP-Verbindungen reduziert, Verbindungsressourcen gespart und die Leistung verbessert. Wenn eine Webseite geladen wird, müssen nicht nur die Haupt-HTML-Datei, sondern auch zugehörige Assets wie Bilder, CSS- und JavaScript-Dateien übertragen werden. Normalerweise erfordert die Übertragung dieser Dateien separate TCP-Verbindungen für jede Datei. Wenn KeepAlive aktiviert ist, können diese Übertragungen jedoch über eine einzelne TCP-Verbindung durchgeführt werden. Während diese Funktion in HTTP/1.0 optional war, ist KeepAlive seit HTTP/1.1 standardmäßig aktiviert.