Grundlagen der Webtechnologien
Welche Aussage über HTTP/2 und HTTP/3 ist richtig?
- AHTTP/2 kann über eine TCP-Verbindung mehrere Anfragen parallel abwickeln, doch ein Paketverlust kann auch andere Streams warten lassen; HTTP/3 verringert dies mit QUIC über UDP
- BHTTP/2 verwendet Nachrichten im selben Textformat wie HTTP/1.1 und baut für jede Anfrage parallel eine neue TCP-Verbindung auf, damit mehrere Ressourcen gleichzeitig empfangen werden können
- CHTTP/3 läuft wie HTTP/2 über TCP und ändert nur das Verfahren der Header-Kompression; Paketverluste wirken sich genauso aus wie bei HTTP/2, und UDP wird nicht verwendet
Antwort und Erläuterung anzeigen
Antwort: A. HTTP/2 kann über eine TCP-Verbindung mehrere Anfragen parallel abwickeln, doch ein Paketverlust kann auch andere Streams warten lassen; HTTP/3 verringert dies mit QUIC über UDP
Auch HTTP/1.1 kann mit persistenten Verbindungen (Keep-Alive) eine TCP-Verbindung wiederverwenden, doch über eine Verbindung werden die Antworten der Reihe nach einzeln empfangen; deshalb bauten Browser mehrere Verbindungen parallel auf. HTTP/2 zerlegt Nachrichten in binäre Frames und multiplext mehrere Streams über eine TCP-Verbindung, sodass sie parallel gesendet werden. Weil TCP seinen Bytestrom jedoch in der richtigen Reihenfolge ausliefert, müssen bei einem einzigen verlorenen Paket auch die Daten anderer, unbeteiligter Streams warten, bis die Sendewiederholung ankommt (Head-of-Line-Blocking). HTTP/3 verwendet QUIC, das über UDP läuft und die Reihenfolge je Stream verwaltet, sodass sich ein Verlust nur auf den betroffenen Stream auswirkt.