Genf • Beginn des WWW • Standardisiert erstmals als HTTP/1.0 • RFC 1945 (Mai 1996) • L¨ adt Resourcen nacheinander • Jedes Mal neue Verbindung Abbildung : Erster HTTP Server
Transfer Protocol (HTTP) is a wildly successful protocol. However, the way HTTP/1.1 uses the underlying transport [...] has several characteristics that have a negative overall effect on application performance today. (RFC 7540) Langsamer als System und ¨ Ubertragungsweg zulassen w¨ urden
Streams in einer Verbindung • Reihenfolge der Frames innerhalb eines Streams ist wichtig • Integer als Stream identifier • Anzahl kann von einem der Endpunkte begrenzt werden • Priorit¨ at optional
Antwort ohne Anfrage • F¨ ur Dateien, die meist zusammen abgerufen werden • Beispiel: CSS und JavaScript zu einer HTML Datei • Client kann Annahme nach Ank¨ undigung verweigern
00 02 3c 68 74 6d 6c 3e 0d 0a 3c 68 65 Stream identifer: 2 • 31 bit groß (1. Bit ist reserviert) • Gibt Zugeh¨ origkeit zu einem Stream an • Wert 0 → betrifft ganze Verbindung
die vom Server als ein anderes Protokoll verstanden wird • Erscheint m¨ olicherweise als “korrekte” Anfrage • Angriffe auf schlecht gesicherte lokale Server • Bei TLS durch ALPN identifier gesch¨ utzt • Ohne TLS nur minimal durch “h2c” Header gesch¨ utzt
auf Grund von “Cache-control” Header • Mehrere Benutzer am Server (gleicher URL-Raum) • Push-Frame f¨ ur anderen Benutzer • Muss vom Server verhindert werden
Verbindung Ressourcen-intensiv • Clients begrenzen Annahme von Push-Frames • H¨ aufiges ¨ Andern von Parameter in SETTINGS-Frame • Viele kleine oder leere Frames L¨ osung ¨ Uberwachung der Aktivit¨ at → ENHANCE YOUR CALM Fehler
von Header-Frame → Frame wird gecached • Großer Header f¨ ullt Speicher • Durch SETTINGS MAX HEADER LIST SIZE begrenzt • Gr¨ oßere Frames werden verworfen
2 • Making the Web faster with HTTP 2.0 (Ilya Grigorik, erschienen in: Communications of the ACM) • Vortrag von Ilya Grigorik (http://youtu.be/SWQdSEferz8)