HTTP Keep-Alive
Kurz: Mit Keep-Alive bleibt eine TCP-Verbindung nach einer Antwort offen und wird für weitere Anfragen wiederverwendet, statt jedes Mal neu aufgebaut zu werden.
Genauer: Jeder Verbindungsaufbau kostet mehrere Hin- und Rückwege (TCP-Handshake, bei HTTPS zusätzlich TLS). Wird die Verbindung beibehalten, sparen Folgeanfragen diese Zeit.
Im Detail
- HTTP/1.1: Keep-Alive ist Standard, mit
Connection: closekann man es abschalten. - HTTP/2 und 3: Mehrere Anfragen laufen gleichzeitig über eine einzige Verbindung (Multiplexing).
- Timeouts: Server schließen ungenutzte Verbindungen nach einigen Sekunden, um Ressourcen zu sparen.
- Load Balancer: Haben eigene Leerlauf-Zeitlimits. Ist das Limit des Clients länger, entstehen abgebrochene Verbindungen.
- Praxis: HTTP-Clients sollten einen gemeinsamen Verbindungspool nutzen.
Siehe auch: Connection Pooling