Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Hauptstudiumsprüfungen » Lehrstuhl 4 » wbs_ws2223
- Historie: Entstehung des WWW (inkl. Kernideen von Tim Berners-Lee) bis heute → siehe Folien
- Wie haben Webserver früher (vor W3C und Standards) passende/richtige HTML-Dateien ausgeliefert, sodass diese vom Browser verstanden wurden? → Browser sendet user-agent; Webserver schickt zum Browser und Engine pasende HTML-Datei.
- HTTP-Historie: HTTP 0.9 bis HTTP/2 (inkl. aller Features und head-of-line-blocking) → siehe Folien
- Wo kann ich einen Stream stoppen/pausieren? → am Ende eines Frames
- Wie groß ist ein Frame? Ist er größer als ein TCP-Paket? → die richtige Antwort ist: wir wissen es nicht; TCP ist dafür zuständig; aber normalerweise sollte ein Frame kleiner als ein TCP-Paket sein.
- Kann das “head-of-line-blocking” Problem bei HTTP/2 noch auftreten? → Nein, Frame kann/wird nicht geteilt und damit muss auch nicht blockiert/gewartet werden.
- HTTP/2 Priorisierung: Warum und technische Umsetzung? → siehe Folien
- HTTP/2 Priorisierung: Prof. hat Webseite skizziert mit index.html und drei Bildern. Ich soll den Anforderungsbaum zeichnen. → Datenabhängigkeiten berücksichtigen: zuerst HTML-Datei, dann die Bilder auf der selben Ebene mit entsprechender Gewichtung
- HTTP/2 Priorisierung: Wie sieht der Anforderungsbaum aus wenn zwei Bilder zuerst geladen werden sollen und später das andere, weil außerhalb des Sichtfelds? → Struktur des Baumes bleibt gleich; man setzt die Gewichtung des dritten Bildes auf 0 (nicht sicher ob das stimmt)
- Was sind die Phasen der Eventbehandlung? → Capturing, Target, Bubbling
- Welche Phase wird am häufigsten verwendet und warum? → Bubbling, weil man in dem meisten Fällen zuerst das Element behandeln möchte, das das Event ausgelöst hat.
- Wann nutzt man Capturing-Phase? → z. B. für Monitoring
- Welche Kommunikationsschnittstellen haben wir kennengelernt? → XMLHttpRequest, Server Sent Events, Web Sockets, WebRTC
- Was sind die Unterschiede der einzelnen Kommunikationsschnittstellen? → siehe Folien
- Wann nutzte ich XHR, SSE, WX, WebRTC? → XHR: einfach Anfragen (z. B. Validierung von Userinputs); SSE: Austausch von Echtzeitinformationen (stromorientiert) textbasiert; WX: Austausch von stromorientierten Nachrichten in beide Richtungen (text und binär); WebRTC: P2P (z. B. Videokonferenz, Desktopsharing)
- Warum ist XHR schlecht für stromorientierte Kommunikation bzw. Austausch von Echtzeitinformationen? → selbst mit zeitverzögertem Polling (Comet) aufwendig und speicherintensiv
- Was ist der Nachteil von SSE den WX nicht hat? → nur textbasierte Nachrichten; Konvertierung in binär (base64) aufwendig
- Was ist Javascript und wie ist das mit der Nebenläufigkeit? → eventbasiert; es gibt keine echte Nebenläufigkeit; man kann zwar die web workers parallel zum Hauptthread laufen lassen; aber man kann nicht auf gemeinsame Variablen zugreifen
Ich wurde häufig unterbrochen und wollte eigentlich viel mehr erwählen zu jeder einzelnen Frage. Zumindest bei mir wurden viele Transferfragen gestellt, die mit den Vorlesungsfolien nicht zu beantworten waren. Er meinte er hätte einiges in den Vorlesungen (welche nicht aufgezeichnet wurden) erzählt. In den Folien konnte ich zu einigen Fragen keine Antwort finden.
Zusätzliche andere Fragen von anderen Studenten:
- Welche Cache-Kriterien haben wir kennengelernt? → cache-control, ETag usw., siehe Folien
- Warum CDN? → siehe Folien
- Was sind die Gründe wo ein Proxy/Cache-Server aufgestellt wird? → Nahe am Benutzer, aber auch Last- und Bandbreitenreduzierung
- Wie sieht die Kommunikation von web workern aus? → Nachrichtenbasiert; man kann mit pushMessage Nachrichten an den Hauptthread senden
- Wie sieht der HTTP-Nachrichtenaufbau aus? → siehe Folien
- Wie schreibt man eine CSS-Anweisung bzw. schreibe mir eine CSS-Regel? → siehe Folien
- Was ist der/das DOM? → siehe Folien