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.