HTTP Keep-Alive
Problem
Eine Webseite benötigt 50 Ressourcen.
Wenn jede HTTP-Anfrage eine völlig neue TCP-Verbindung erfordert:
verbinden → Anfrage → schließen verbinden → Anfrage → schließen verbinden → Anfrage → schließen
Der Verbindungsaufbau wird teuer.
Lösung — Persistente Verbindungen
HTTP Keep-alive bedeutet, eine Verbindung nach einer Antwort offen zu halten, damit spätere Anfragen sie wiederverwenden können, auch nach einer Pause. Für HTTPS stellt der TLS-Handshake diese Verbindung her; nachfolgende Anfragen verwenden sie ohne einen weiteren Handshake wieder. Der Client, Server oder ein Vermittler kann sie schließen, zum Beispiel nach einer Leerlaufzeit.
Idle-Timeouts werden normalerweise in Sekunden gemessen: Ein 60-Sekunden-Timeout ermöglicht das Schließen nach 60 Sekunden ohne Aktivität; Neue Aktivität startet normalerweise den Timer neu.
Verbinden ↓ Anfrage Anfrage Anfrage Anfrage ↓ Schließen
Kerngedanke: Persistente HTTP-Verbindungen amortisieren den Verbindungsaufbau über mehrere Anforderungen hinweg.