KeepAlive
Was ist KeepAlive?
KeepAlive bezeichnet eine Form der Kommunikation in vernetzten Systemen, bei der Geräte oder Software regelmäßig Signale austauschen, um zu überprüfen, ob die Verbindung zwischen ihnen weiterhin aktiv ist. In festgelegten Intervallen sendet eine Seite KeepAlive-Signale, die der Empfänger als Bestätigung dafür interpretiert, dass die Verbindung ordnungsgemäß funktioniert. Werden über einen bestimmten Zeitraum keine KeepAlive-Signale empfangen, geht das System davon aus, dass die Verbindung unterbrochen wurde, und leitet Vorgänge wie das Schließen des Kommunikationskanals, das Beenden der Sitzung oder den erneuten Verbindungsaufbau ein.
Bei TCP wird diese Funktion als TCP KeepAlive bezeichnet. Auf der Serverseite gibt sie automatisch Ressourcen frei, die Verbindungen zu nicht mehr erreichbaren Clients zugeordnet sind. Auf der Clientseite ermöglicht TCP KeepAlive automatische Wiederverbindungen, beispielsweise wenn sich die IP-Adresse des Servers aufgrund eines Failovers ändert.
In HTTP steht eine KeepAlive-Funktion zur Verfügung, mit der die TCP-Verbindung zwischen Client und Server ausdrücklich aufrechterhalten wird. Dadurch werden weniger TCP-Verbindungen benötigt, was Verbindungsressourcen schont und die Leistung verbessert. Beim Laden einer Webseite müssen neben der eigentlichen HTML-Datei auch zugehörige Ressourcen wie Bilder sowie CSS- und JavaScript-Dateien übertragen werden. Normalerweise ist für die Übertragung jeder dieser Dateien eine separate TCP-Verbindung erforderlich. Ist KeepAlive jedoch aktiviert, können diese Übertragungen über eine einzige TCP-Verbindung erfolgen. Während diese Funktion in HTTP/1.0 optional war, ist KeepAlive seit HTTP/1.1 standardmäßig aktiviert.

