Grundlagen der Webtechnologien
HTTP-Anfragen und -Antworten, Methoden und Statuscodes, Header und Cache-Steuerung, HTTP/2 und HTTP/3, Cookies und Sitzungen, JWT, OAuth und OpenID Connect, REST-APIs, URLs und JSON, WebSocket und Webhooks, DOM und CSS, die Event Loop, die Same-Origin-Policy und CORS, Service Worker, CDNs und Komprimierung, Core Web Vitals, Webserver und Reverse Proxys sowie SSR, CSR und SSG, erarbeitet mit Multiple-Choice-Fragen.
Grundlagen der Webtechnologien: Kernpunkte
Öffnet man im Browser eine URL, erreicht eine HTTP-Anfrage einen Server, und aus dem zurückgelieferten HTML, CSS und JavaScript baut der Browser die Anzeige auf. Das Web besteht aus vielen zusammenwirkenden Technologien: Cookies, die die Anmeldung halten, APIs, die andere Dienste anbinden, sowie Caches und CDNs, die die Anzeige beschleunigen.
Behandelt werden der Aufbau von HTTP-Anfragen und -Antworten, Sicherheit und Idempotenz von Methoden, Statuscodes, die Cache-Steuerung über Header und die Unterschiede zwischen HTTP/1.1, HTTP/2 und HTTP/3. Danach geht es um Cookies und Sitzungen, die Zustandsverwaltung mit JWT, OAuth 2.0 mit OpenID Connect, REST-APIs und den Aufbau von URLs, Prozentkodierung und JSON sowie WebSocket und Webhooks. Auf der Browserseite stehen das DOM, das CSS-Boxmodell und die Spezifität, die Verarbeitung bis zur ersten Anzeige, die Event Loop von JavaScript, die Same-Origin-Policy und CORS, Service Worker und Responsive Design auf dem Programm, auf der Seite der Auslieferung Browser- und CDN-Caches, Komprimierung und die Berechnung von Übertragungszeiten, Core Web Vitals, Bildformate, Web- und Anwendungsserver, Reverse Proxys sowie SSR, CSR und SSG. Das hilft auch bei der Vorbereitung auf IT-Zertifizierungsprüfungen in den Bereichen Netzwerke und Websysteme. Wie TCP/IP, DNS und TLS funktionieren, behandelt „Grundlagen der Computernetzwerke“, Angriffe und Gegenmaßnahmen wie XSS, CSRF und SQL-Injection „Grundlagen der Informationssicherheit“ und den Entwurf von Lastverteilung und Redundanz „Systemarchitektur und Zuverlässigkeit“.
Alle Fragen zu Grundlagen der Webtechnologien (40)
- Welche Kombination nennt die Elemente der ersten Zeile (der Anfragezeile) einer HTTP/1.1-Anfrage richtig?
- Welche HTTP-Methode ist zwar nicht „sicher“ (sicher heißt: Sie soll den Zustand der Ressourcen auf dem Server nicht verändern), aber „idempotent“ (dieselbe Anfrage beliebig oft zu senden, führt zum selben Zustand wie einmaliges Senden)?
- Welche Zuordnung eines Statuscodes zu seiner Bedeutung ist bei HTTP richtig?
- Auf einer Website nur für Mitglieder fordert ein angemeldetes gewöhnliches Mitglied eine Seite an, die nur Administratoren erlaubt ist. Der Server weiß, wer der Nutzer ist, erlaubt den Zugriff auf diese Seite aber nicht. Welcher Statuscode ist hier als Antwort am besten geeignet?
- Eine Web-API liefert als Body ihrer Antwort Daten im JSON-Format. Welcher Header wird der Antwort üblicherweise hinzugefügt, um das Format des Bodys anzugeben?
- Ein Browser fordert ein früher empfangenes Bild erneut an und setzt dabei den ETag-Wert aus der damaligen Antwort in den Header If-None-Match. Welche Antwort des Servers ist richtig, wenn sich das Bild auf dem Server nicht geändert hat?
- Welche Aussage über HTTP/2 und HTTP/3 ist richtig?
- 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)?
- 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?
- Welche Aussage über das durch den obigen Header gesetzte Cookie ist richtig?
- Welche Aussage über einen Unterschied zwischen localStorage im Browser und Cookies ist richtig?
- 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?
- Welche Aussage über ein typisches signiertes JWT (JSON Web Token) ist richtig?
- Eine Fotodruck-App liest mit Erlaubnis des Nutzers dessen Fotos aus dem Fotospeicherdienst eines anderen Unternehmens. Welche Rolle zeigt bei OAuth (Version 2.0) dem Nutzer einen Bildschirm an, der um seine Erlaubnis bittet, und stellt der App ein Access-Token aus, wenn der Nutzer zustimmt?
- Welche Aussage über die Beziehung zwischen OAuth (Version 2.0) und OpenID Connect ist richtig?
- Welcher Entwurf einer Web-API folgt den Prinzipien von REST?
- Ein Browser öffnet https://www.example.com:8443/docs/guide.html?lang=ja#install. Welcher Teil dieser URL ist nicht in der an den Server gesendeten Anfrage enthalten und wird erst nach dem Laden der Seite nur im Browser verwendet?
- Um das japanische Zeichen „あ“ in die Query einer URL zu schreiben, wird die Bytefolge, die es in UTF-8 darstellt (E3 81 82), prozentkodiert. Welches Ergebnis ist richtig?
- Eine Chat-App soll neue Nachrichten sofort vom Server an den Browser zustellen. Welche Aussage über WebSocket ist richtig?
- Der Server eines Händlers soll sofort erfahren, wenn bei einem Online-Zahlungsdienst eine Zahlung abgeschlossen wurde. Welche Aussage über das Verfahren, bei dem der Zahlungsdienst eine Benachrichtigung per HTTP (Methode POST) an eine vorab vom Händler registrierte URL sendet (Webhook), ist richtig?
- Welche Aussage über das in Browsern verwendete DOM (Document Object Model) ist richtig?
- Wie breit ist das mit dem obigen CSS gestaltete Element von der Außenkante des linken Rahmens bis zur Außenkante des rechten Rahmens?
- Es gibt keine weiteren Stilangaben. Welche Farbe hat der Text „Hello“ im obigen HTML?
- Bei der Verarbeitung, die ein Browser bis zur Anzeige des ersten Bildschirms ausführt (dem kritischen Rendering-Pfad), hält ein ohne Attribute in <head> geschriebenes <script src="app.js"> das Parsen des HTML an dieser Stelle an. Wie verhält sich das Element, wenn es das Attribut defer erhält?
- In welcher Reihenfolge erscheinen die Zeichen in der Konsole, wenn das obige JavaScript im Browser ausgeführt wird?
- Welche URL hat nach der Same-Origin-Policy des Browsers denselben Ursprung wie https://www.example.com/app/index.html?
- JavaScript auf einer Seite unter https://app.example.com will mit fetch eine POST-Anfrage mit einem Body vom Content-Type application/json an https://api.example.net/orders senden. Welche Aussage über das Verhalten von CORS in diesem Fall ist richtig?
- Welche Aussage über einen Service Worker ist richtig?
- Was ist der Hauptzweck, auf einer Seite mit Responsive Design, die auch Smartphones unterstützt, <meta name="viewport" content="width=device-width, initial-scale=1"> in <head> zu schreiben?
- Die Antwort für eine „Meine Seite“, deren Inhalt für jeden Nutzer anders ist, erhält Cache-Control: private, max-age=60. Welche Aussage über die Wirkung dieser Angabe ist richtig?
- Ein Webserver komprimiert Antworten vor dem Senden mit gzip oder Brotli. Bei welchem Inhalt verringert die Komprimierung die übertragene Datenmenge im Allgemeinen am wenigsten?
- 1,5 MB Textdaten werden mit gzip auf ein Drittel der Größe komprimiert und gesendet. Die Bandbreite beträgt 10 Mbit/s und die RTT 100 ms; bevor das Senden der Daten beginnt, brauchen TCP-Verbindungsaufbau, TLS-Handshake und HTTP-Anfrage zusammen drei Umläufe. Es gilt 1 MB = 10^6 Byte; die Zeit für Komprimierung und Dekomprimierung, Header sowie Wartezeiten durch die Überlastkontrolle von TCP werden vernachlässigt. Welcher Wert liegt der Zeit bis zum vollständigen Empfang der Daten am nächsten?
- Ein CDN erhält 2000 Anfragen pro Sekunde, und seine Cache-Trefferquote steigt von 90 % auf 98 %. Bei einem Treffer beträgt die Antwortzeit 20 ms, ohne Treffer 200 ms, weil der Inhalt vom Origin-Server geholt und dann zurückgegeben wird; nur Anfragen ohne Treffer erreichen den Origin-Server. Welche Kombination aus der Zahl der Anfragen, die den Origin-Server erreichen, und der mittleren Antwortzeit gilt nach dem Anstieg auf 98 %?
- Was gibt bei den Core Web Vitals, den Kennzahlen für das Nutzungserlebnis einer Webseite, der Wert CLS (Cumulative Layout Shift) an?
- Welche Zuordnung eines Bildformats für Webseiten zu seiner typischen Verwendung ist angemessen?
- 3000 Byte Bilddaten werden mit Base64 kodiert und in HTML eingebettet. Wie viele Zeichen ergeben sich nach der Kodierung, wenn keine Zeilenumbrüche eingefügt werden?
- Ein Websystem wird in drei Schichten aufgebaut: Webserver, Anwendungsserver und Datenbankserver. Welche Verarbeitung übernimmt der Anwendungsserver hauptsächlich?
- Welche Aussage über einen Reverse Proxy ist richtig?
- Bei CGI startet der Webserver bei jeder Anfrage das Programm als neuen Prozess, und der Prozess endet, wenn die Verarbeitung abgeschlossen ist. Was ist der Hauptgrund dafür, dass FastCGI und Anwendungsserver viele Anfragen effizienter verarbeiten können als CGI?
- Welches Verfahren zum Erzeugen der Seiten einer Website erzeugt die HTML-Dateien aller Seiten bereits beim Build und gibt auf Anfragen diese Dateien unverändert zurück?
Weitere Themen in Computersysteme
- Computerarithmetik IEEE 754, Festkomma, Rundungsfehler
- Wahrscheinlichkeitsrechnung, Statistik und Warteschlangen Abzählen, Verteilungen, Schätzen und Testen, M/M/1
- Befehlssatz und Assembler RISC-V, Adressierungsarten, Aufrufkonvention
- Compiler Parsing, SSA, Optimierung, Registerzuteilung
- Linker, Loader und ausführbare Formate ELF, Symbole, Relokation, dynamisches Linken
- Betriebssystem und Hardware Interrupts, Systemaufrufe, Page Faults
- Grundlagen von Linux und der Kommandozeile Shell, Zugriffsrechte, Pipes, Skripte
- Speicherhierarchie und Leistung Cache, Ersetzungsstrategie, drei Miss-Arten
- Multicore und Synchronisation MESI, atomare Befehle, Memory Barriers
- GPU-Programmierung Warps, Shared Memory, Coalescing, Occupancy
- KI-Hardware und Software-Stack Inferenz vs. Training, Quantisierung, Roofline
- Grundlagen des maschinellen Lernens Lernverfahren, Bewertungskennzahlen, neuronale Netze
- Embedded Systems und Firmware GPIO, UART/SPI/I2C, RTOS
- Hardwarebeschreibungssprachen und Verifikation Verilog, Latches, Zustandsautomaten, Testbench
- Schnittstellen und Busstandards PCIe, USB, SerDes, CXL
- Grundlagen der Computernetzwerke TCP/IP, Subnetzberechnung, DNS, TLS
- Grundlagen der Funkkommunikation Modulation, OFDM, MIMO, HF-Schaltungen
- Grundlagen der Informationssicherheit Kryptografie, Authentifizierung, Webangriffe
- Grundlagen der Datenbanken SQL, Normalisierung, Transaktionen
- Datenstrukturen und Algorithmen Komplexität, Suche, Sortieren, Graphen
- Grundlagen der Programmierung (Pseudocode nachverfolgen) Pseudocode, Tracing, Arrays, Rekursion
- Grundlagen der Programmiersprache C Zeiger, Speicher, undefiniertes Verhalten
- Softwareentwicklung und Projektmanagement Prozesse, Tests, Termin- und Kostensteuerung
- Grundlagen von Unternehmensstrategie und Rechnungswesen Rechnungswesen, Break-even, Strategie, Marketing
- IT-Service-Management und IT-Audit SLAs, Incidents und Probleme, Audit und interne Kontrolle
- Systemarchitektur und Zuverlässigkeit Redundanz, RAID, Backups, Cloud
- Leistungsbewertung und Profiling Amdahlsches Gesetz, CPI, Engpässe
- Hardwaresicherheit Seitenkanäle, Secure Boot, TEE, PUF
- Energieverwaltung (softwaregesteuert) DVFS, Power Gating, Schlafzustände