====== Web-basierte Systeme SS20, Kapitza ====== Klausur umfasste 7 Aufgabe auf 30 Seiten (inkl. Papier), Taschenrechner war erlaubt aber nicht nötig. 90 Minuten Bearbeitungszeit. == 1. HTTP Geschichte == * Welche Neuerungen in 90'ern (insb. Pipelining) + Beschreibung + Probleme? * Warum wurde die Working Group gegründet wenn es W3C schon gab? == 2. HTTP 0.9 - 2 == * Abbildung von HTTP 0.9, HTTP 1.x und HTTP 2 auf Trägerprotokoll beschreiben * Jedes HTTP/2 Feature erklären (insb. Server Push) == 3. HTML + CSS == * Rendering Engine von Firefox: Komponenten in Diagram eintragen * HTML und CSS Datei gegeben mit verwirrend benannten Klassen und IDs * Gültigkeitsbereich für 5 CSS Selektoren in ~18 Zeilen HTML angeben == 4. Caching == * Welche 4 Komponenten von Webapps können gecached werden (?) * Alle Cache-Header Werte erklären * Etag + if-none-match für GET und POST == 5. Welche Kommunikationstechnik (XHR, SSE, WX) passt für == * Newspage * Chat * Username-exists check == 6. Angriffe == * XSS (3 Sorten nennen und beschreiben) * Anfälliger JS Code mit Schwachstelle * Schwachstelle finden und beschreiben * Beispielangriff erklären == 7. Kurzfragen == * Model-View-Controller Diagram beschriften * Wieviel Arbeit nimmt ein CDN dem Server ab * WebAssembly Ziele * CORS Ziele * CORS Beispiel mit Allow-..-: * deuten Die Aufgaben waren noch etwas umfangreicher als hier beschrieben. Es wurden viele Fakten verlangt, kaum aus der Übung/Hausaufgabe.