Grundlagen der Webtechnologien

Welche Aussage über HTTP/2 und HTTP/3 ist richtig?

  1. 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
  2. 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
  3. 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.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Grundlagen der Webtechnologien

  1. Von einem Webserver mit einer Umlaufzeit (RTT) von 40 ms werden eine HTML-Datei und die vier darin referenzierten Bilder nacheinander einzeln abgerufen. Der Aufbau einer TCP-Verbindung dauert einen Umlauf, jede Anfrage mit Antwort ebenfalls einen Umlauf; Übertragungszeit der Daten, Verarbeitungszeit des Servers, TLS und Verbindungsabbau werden nicht berücksichtigt. Wie groß ist der Zeitunterschied zwischen einer neuen TCP-Verbindung für jedes Objekt und der Wiederverwendung einer einzigen TCP-Verbindung (persistente Verbindung)?
  2. HTTP ist ein zustandsloses Protokoll. Welche Aussage darüber, was das bedeutet, und über den üblichen Weg, wie eine Website einen Nutzer angemeldet hält, ist richtig?
  3. Welche Aussage über das durch den obigen Header gesetzte Cookie ist richtig?
  4. Welche Aussage über einen Unterschied zwischen localStorage im Browser und Cookies ist richtig?
  5. Hinter einem Load Balancer stehen drei Anwendungsserver, auf die die Anfragen der Reihe nach verteilt werden (Round Robin). Die Sitzungsinformationen eines angemeldeten Nutzers werden nur im Arbeitsspeicher des Servers abgelegt, der die Anmeldung bearbeitet hat. Welche Kombination aus wahrscheinlichem Problem und Gegenmaßnahme ist angemessen?