HTTP/2 Multiplexing
Problem
Ein Browser benötigt viele Ressourcen gleichzeitig.
Die ineffiziente Verwendung von Verbindungen oder die Serialisierung von Anfragen führt zu unnötigem Warten.
Lösung — HTTP/2 Streams
Mehrere Anfrage-/Antwort-Streams teilen sich eine TCP-Verbindung mit TLS für HTTPS.
Keep-alive verwendet eine Verbindung im Laufe der Zeit wieder; die typische HTTP/1.1-Nutzung wartet auf eine Antwort, bevor die nächste Anfrage gesendet wird. HTTP/2 lässt mehrere Anfragen gleichzeitig laufen, wobei Stream-IDs verwendet werden, um die verschachtelten Antwortdaten mit der richtigen Anfrage abzugleichen.
Keep-alive bietet Wiederverwendung; Multiplexing fügt Parallelität hinzu.
Eine TCP-Verbindung ├─ Stream 1 → HTML ├─ Stream 2 → CSS ├─ Stream 3 → Bild └─ Stream 4 → API
Kerngedanke: HTTP/2 überträgt mehrere HTTP-Anfragen und -Antworten als getrennte Streams über eine Verbindung.