diff --git a/slides/223015c/klausurfragen.md b/slides/223015c/klausurfragen.md index df82132..bd78ac7 100644 --- a/slides/223015c/klausurfragen.md +++ b/slides/223015c/klausurfragen.md @@ -79,45 +79,6 @@ section.disable { --- - - -### A1 – Komponenten zuordnen -**Thema:** Von-Neumann Grundstruktur -**Punkte:** 3 -**Typ:** `[MATCH]` - -Ordnen Sie jeder Komponente der Von-Neumann-Architektur ihre Funktion zu. - -| Komponente | Funktion | -|---|---| -| Rechenwerk (ALU) | Führt arithmetische und logische Operationen durch | -| Steuerwerk | Holt, dekodiert und steuert die Ausführung von Befehlen | -| Speicherwerk | Enthält sowohl Programme als auch Daten | -| Ein-/Ausgabe | Schnittstelle zu externen Geräten (Tastatur, Bildschirm, Netzwerk) | -| Bus-System | Verbindet alle Komponenten mittels Adress-, Daten- und Steuerbus | - -> **Feedback:** Die 5 Komponenten: ALU (Rechnen), Steuerwerk (Befehle steuern), Speicherwerk (Programme UND Daten), Ein-/Ausgabe (Peripherie), Bus-System (Verbindung). - ---- - - - -### A2 – Welche Komponente ist das? -**Thema:** Von-Neumann – einzelne Komponente identifizieren -**Punkte:** 1 -**Typ:** `[MC]` - -Ein Programm besteht aus einer Folge von Befehlen. Eine Komponente der Von-Neumann-Architektur ist für das Abrufen, Dekodieren und Ausführen dieser Befehle zuständig. Welche? - -- [ ] Rechenwerk (ALU) -- [x] **Steuerwerk** -- [ ] Speicherwerk -- [ ] Ein-/Ausgabe - -> **Feedback:** Das Steuerwerk (Control Unit) orchestriert den Fetch-Decode-Execute-Zyklus – es ist der „Dirigent" der CPU. - ---- - ### A3 – Von-Neumann: Was wird ermöglicht? **Thema:** Von-Neumann – Bedeutung **Punkte:** 2 @@ -153,19 +114,6 @@ Welche der folgenden Aussagen werden durch die Von-Neumann-Architektur ermöglic --- - - -### A4 – Von-Neumann: Komponenten erklären -**Thema:** Von-Neumann – Transfer -**Punkte:** 3 -**Typ:** `[ESSAY]` - -Erklären Sie die fünf Komponenten der Von-Neumann-Architektur: **Rechenwerk (ALU)**, **Steuerwerk**, **Speicherwerk**, **Ein-/Ausgabe** und **Bus-System**. Beschreiben Sie für jede Komponente ihre Hauptfunktion in einem Satz. - -> **Musterlösung:** **Rechenwerk (ALU):** Führt arithmetische (Addition, Subtraktion) und logische (AND, OR, NOT) Operationen durch. **Steuerwerk:** Holt Befehle aus dem Speicher, dekodiert sie und steuert ihre Ausführung (Fetch-Decode-Execute). **Speicherwerk:** Speichert sowohl Programme als auch Daten im selben Speicher – das Kernprinzip der Von-Neumann-Architektur. **Ein-/Ausgabe:** Schnittstelle zu externen Geräten wie Tastatur, Bildschirm, Netzwerkkarte. **Bus-System:** Verbindet alle Komponenten mittels Adress-, Daten- und Steuerbus. - ---- - ### A5 – Von-Neumann vs. Harvard-Architektur **Thema:** Von-Neumann – Abgrenzung **Punkte:** 2 @@ -225,6 +173,7 @@ Ordnen Sie jedem Begriff des Client-Server-Modells seine Beschreibung zu. - Host bzw. Anwendung mit der Antwort (z. B. Webserver) - Host bzw. Anwendung mit einer Anfrage (z. B. Browser) - Ein netzwerkfähiger Rechner (Laptop, Smartphone, Display in der S-Bahn) + --- ### B0 – Client-Server: Begriffe zuordnen (Lösung) @@ -299,60 +248,6 @@ Das Web folgt dem Client-Server-Modell: Ein [[1:Client]] sendet einen [[2:Reques --- - - -### B1 – Protokoll → TCP/IP-Schicht zuordnen -**Thema:** TCP/IP-Schichtmodell – Zuordnung -**Punkte:** 3 -**Typ:** `[MATCH]` - -Ordnen Sie jedem Protokoll die richtige TCP/IP-Schicht zu. - -| Protokoll | Schicht | -|----------|---| -| HTTP | Anwendung | -| DNS | Anwendung | -| TCP | Transport | -| UDP | Transport | -| IP | Internet | -| Ethernet | Netzzugang | -| WLAN | Netzzugang | - -> **Feedback:** Anwendung: HTTP, DNS, SMTP, FTP. Transport: TCP, UDP. Internet: IP. Netzzugang: Ethernet, WLAN. - ---- - - - -### B2 – Welche Schicht ist das? (einzeln) -**Thema:** TCP/IP – einzelne Schicht identifizieren -**Punkte:** 1 -**Typ:** `[MC]` - -Das Protokoll IP arbeitet auf welcher TCP/IP-Schicht? - -- [ ] Anwendung -- [ ] Transport -- [x] **Internet** -- [ ] Netzzugang - -> **Feedback:** IP (Internet Protocol) arbeitet auf der Internet-Schicht – dort werden Pakete adressiert und geroutet. - ---- - - - -### B3 – Schicht-Funktion beschreiben -**Thema:** TCP/IP – Funktionen der Schichten -**Punkte:** 2 -**Typ:** `[ESSAY]` - -Beschreiben Sie in einem Satz pro Schicht die Hauptfunktion jeder der vier TCP/IP-Schichten (Anwendung, Transport, Internet, Netzzugang). - -> **Musterlösung:** Anwendung: Stellt Protokolle für spezifische Dienste bereit (HTTP für Web, SMTP für Mail). Transport: Sorgt für zuverlässige (TCP) oder schnelle (UDP) Übertragung zwischen zwei Endpunkten. Internet: Adressiert und routet Pakete über Netzwerkgrenzen hinweg mittels IP. Netzzugang: Übertragen von Frames auf einem physischen Übertragungsweg (Ethernet, WLAN). - ---- - ### B4 – Was ist eine MAC-Adresse? **Thema:** MAC-Adresse – Konzept **Punkte:** 1 @@ -462,6 +357,7 @@ Ordnen Sie jeder Adresse ihre Beschreibung zu. - Adressiert einen bestimmten Dienst auf einem Computer - Lokale Adresse einer Netzwerkkarte – nur innerhalb eines Segments gültig - Globale Adresse eines Geräts – ermöglicht Routing über Netzwerkgrenzen + --- ### B7 – IP, MAC, Port: Zuordnung (Lösung) @@ -524,6 +420,7 @@ Ordnen Sie jedem Begriff seine Beschreibung bzw. sein Beispiel zu. - Nummer eines Programms bzw. Dienstes – z. B. `80`, `443`, `22` - Hardware-Adresse der Netzwerkkarte – z. B. `aa:bb:cc:dd:ee:ff` - Globale Adresse im Internet – z. B. `212.132.79.37` + --- ### B7b – Adressen & Identitäten: Begriffe zuordnen (Lösung) @@ -626,6 +523,7 @@ Ordnen Sie jeder Portnummer den passenden Dienst zu. - SSH (verschlüsselte Fernwartung) - HTTPS (Web, verschlüsselt) - HTTP (Web, unverschlüsselt) + --- ### B6a – Port: Well-Known Ports zuordnen (Lösung) @@ -646,39 +544,6 @@ Ordnen Sie jeder Portnummer den passenden Dienst zu. --- - - -### B8 – MAC ändert sich, IP nicht: Warum? -**Thema:** IP vs. MAC beim Routing – Transfer -**Punkte:** 2 -**Typ:** `[ESSAY]` - -Ein Paket reist von Ihrem Laptop zu einem Webserver über mehrere Router. Erklären Sie in 2–3 Sätzen, warum die MAC-Adresse an jedem Router neu gesetzt wird, während die IP-Adresse des Ziel-Servers konstant bleibt. - -> **Musterlösung:** Die IP-Adresse des Ziel-Servers bleibt konstant, weil sie das globale Routingziel identifiziert – jeder Router nutzt sie, um das nächste Hop zu bestimmen. Die MAC-Adresse hingegen gilt nur für ein einzelnes Netzwerksegment (einen „Hop"). An jedem Router wird ein neuer Frame erstellt mit der MAC des nächsten Hops als Ziel – die alte MAC wird verworfen. - ---- - - - -### B9 – Encapsulation: Dateneinheit → Schicht -**Thema:** Encapsulation – Zuordnung -**Punkte:** 3 -**Typ:** `[MATCH]` - -Bei der Übertragung wird eine Nachricht von Schicht zu Schicht verpackt. Ordnen Sie jeder Dateneinheit die zugehörige Schicht und was hinzugefügt wird. - -| Dateneinheit | Schicht + Was wird ergänzt | -|---|---| -| Daten | Anwendungsschicht – die eigentliche Nachricht (z. B. HTML-Seite) | -| Segment | Transportschicht – Daten + Ports und Sequenznummern | -| Paket | Internetschicht – Segment + IP-Adressen (Quelle und Ziel) | -| Frame | Netzzugangsschicht – Paket + MAC-Adressen und Prüfsumme | - -> **Feedback:** D-S-P-F: Daten → Segment → Paket → Frame. Jede Schicht fügt einen Header (und beim Frame auch einen Trailer) hinzu. - ---- - ### B10 – Encapsulation: Reihenfolge sortieren **Thema:** Encapsulation – Reihenfolge **Punkte:** 2 @@ -710,150 +575,6 @@ Sortieren Sie die Dateneinheiten in der Reihenfolge, wie sie beim Senden entsteh --- - - -### B11 – Decapsulation: Umgekehrte Reihenfolge -**Thema:** Decapsulation – Empfänger-Seite -**Punkte:** 2 -**Typ:** `[MC]` - -Wenn der Server das Signal empfängt, passiert Decapsulation. In welcher Reihenfolge werden die Header entfernt? - -- [ ] Anwendung → Transport → Internet → Netzzugang -- [ ] Alle Header werden gleichzeitig entfernt, sobald die Daten im RAM liegen. -- [x] **Netzzugang (Ethernet-Header weg) → Internet (IP-Header weg) → Transport (TCP-Header weg) → Daten.** -- [ ] Internet → Netzzugang → Transport → Anwendung - -> **Feedback:** Das Auspacken erfolgt in umgekehrter Reihenfolge wie das Einpacken – der äußerste Header (Frame) wird zuerst entfernt. - ---- - - - -### B12 – Encapsulation: Lückentext -**Thema:** Encapsulation – Terminologie -**Punkte:** 2 -**Typ:** `[CLOZE]` - -Bei der Übertragung wird eine Nachricht von Schicht zu Schicht verpackt. Die Transportschicht erzeugt ein [[1:Segment]], die Internetschicht ein [[2:Paket]], und die Netzzugangsschicht einen [[3:Frame]]. Am Empfänger wird dieses in [[4:umgekehrter Reihenfolge]] wieder abgepackt (Decapsulation). - -> **Feedback:** D-S-P-F vorwärts beim Senden, F-P-S-D beim Empfangen. Jeder Name beschreibt die Dateneinheit mit allen bis zu dieser Schicht hinzugefügten Headern. - ---- - - - -### B13 – TCP vs. UDP: Videostreaming -**Thema:** TCP vs. UDP – Echtzeit-Szenario -**Punkte:** 2 -**Typ:** `[MC]` - -Ein Videostreaming-Dienst sendet Daten an Ihren Browser. Ein einzelnes Paket geht verloren. Warum wählt der Dienst UDP statt TCP? - -- [ ] UDP sendet jedes Paket doppelt, daher geht statistisch nie etwas verloren. -- [x] **Bei Echtzeit ist Verzögerung schlimmer als Verlust. TCP würde das Paket erneut anfordern → Video friert ein. UDP ignoriert es → kurzer Glitch, Video läuft weiter.** -- [ ] TCP kann bei Videostreaming nicht verwendet werden, da es zu langsam für Multimedia ist. -- [ ] UDP ist immer schneller als TCP – deshalb nutzt jeder Streaming-Dienst UDP. - -> **Feedback:** Der Kern: Bei Echtzeit zählt Latenz, nicht Vollständigkeit. Ein fehlendes Frame ist besser als ein eingefrorenes Video. - ---- - - - -### B13a – TCP vs. UDP: Eigenschaften vergleichen -**Thema:** TCP vs. UDP – Vergleich -**Punkte:** 3 -**Typ:** `[ESSAY]` - -Vergleichen Sie **TCP** und **UDP**. Beschreiben Sie für jedes Protokoll: (1) ob es verbindungsorientiert ist, (2) ob es Zuverlässigkeit garantiert, (3) einen konkreten Anwendungsfall mit Begründung. - -> **Musterlösung:** **TCP:** Verbindungsorientiert (3-Way-Handshake). Garantiert Zuverlässigkeit: Sequenznummern, Bestätigungen (ACK), erneutes Senden bei Verlust. Anwendung: Dateiübertragung, E-Mail – jedes Byte muss ankommen. **UDP:** Verbindungslos („fire and forget"). Keine Garantie für Lieferung oder Reihenfolge. Anwendung: Videostreaming, Online-Gaming – Latenz wichtiger als Vollständigkeit, ein verlorenes Paket wird ignoriert statt nachgefordert. - ---- - - - -### B14 – TCP vs. UDP: Unterschiede beschreiben -**Thema:** TCP vs. UDP – Konzept-Vergleich -**Punkte:** 2 -**Typ:** `[ESSAY]` - -Nennen Sie zwei wesentliche Unterschiede zwischen TCP und UDP und geben Sie für jeden einen konkreten Anwendungsfall an, in dem genau dieses Eigenschaftspaar ausschlaggebend ist. - -> **Musterlösung:** (1) TCP ist verbindungsorientiert und zuverlässig (Handshake, Sequenznummern, ACK) → ideal für Dateiübertragung, wo jedes Byte zählt. (2) UDP ist verbindungslos und schneller, aber ohne Garantie für Lieferung oder Reihenfolge → ideal für Echtzeit-Anwendungen wie Videostreaming oder Online-Gaming, wo Latenz wichtiger als Vollständigkeit ist. - ---- - - - -### B15 – TCP vs. UDP: Richtig oder Falsch? -**Thema:** TCP vs. UDP – Aussagen prüfen -**Punkte:** 1 -**Typ:** `[MC]` - -„UDP garantiert, dass alle Pakete in der richtigen Reihenfolge ankommen." - -Diese Aussage ist … - -- [ ] …korrekt – UDP nutzt Sequenznummern wie TCP. -- [x] **…falsch – UDP bietet keine Garantie für Reihenfolge noch für Lieferung.** -- [ ] …korrekt – UDP ist sogar zuverlässiger als TCP. -- [ ] …falsch – UDP existiert gar nicht mehr in modernen Netzwerken. - -> **Feedback:** UDP = „fire and forget". Keine Verbindung, keine Sequenznummern, keine Bestätigung. Genau deshalb ist es schneller. - ---- - - - -### B16 – TCP 3-Way-Handshake: SYN geht verloren -**Thema:** TCP-Verbindungsaufbau – Störfall -**Punkte:** 2 -**Typ:** `[MC]` - -Der Client sendet ein SYN zum Server. Das SYN-Paket geht verloren – es erreicht den Server nie. Was passiert als nächstes? - -- [ ] Der Server sendet trotzdem ein SYN-ACK, da die IP-Adresse bekannt ist. -- [x] **Der Server kennt die Anfrage nicht → sendet kein SYN-ACK → der Client erhält keine Antwort → keine Verbindung. Der Client sendet das SYN nach einem Timeout erneut.** -- [ ] Der Client sendet direkt ein ACK als Fallback – Verbindung mit zwei Paketen. -- [ ] Das verloren gegangene SYN wird vom Netzwerk automatisch rekonstruiert. - -> **Feedback:** Ohne SYN beim Server: kein SYN-ACK, kein Handshake, keine Verbindung. TCP retransmittiert nach Timeout. - ---- - - - -### B17 – TCP 3-Way-Handshake: Ablauf beschreiben -**Thema:** TCP-Verbindungsaufbau – Konzept -**Punkte:** 2 -**Typ:** `[ESSAY]` - -Beschreiben Sie die drei Schritte des TCP 3-Way-Handshakes. Erklären Sie, warum alle drei Schritte nötig sind, bevor Daten gesendet werden. - -> **Musterlösung:** (1) Client → Server: SYN („Ich will eine Verbindung aufbauen"). (2) Server → Client: SYN-ACK (「Ich bestätige das und will auch eine Verbindung"). (3) Client → Server: ACK ("Bestätigt"). Alle drei Schritte sind nötig, damit beide Seiten wissen, dass die andere die Verbindung akzeptiert hat – erst dann kann zuverlässiger Datenaustausch beginnen. - ---- - - - -### B18 – TCP Sequenznummern: Wozu? -**Thema:** TCP – Sequenznummern -**Punkte:** 1 -**Typ:** `[MC]` - -Welches Problem lösen Sequenznummern im TCP-Header konkret? - -- [ ] Sie verhindern, dass Hacker die Verbindung abhören können. -- [x] **Pakete können in falscher Reihenfolge ankommen. Sequenznummern erlauben das korrekte Sortieren beim Empfänger.** -- [ ] Sie zählen, wie viele Benutzende gleichzeitig auf dem Server sind. -- [ ] Sie bestimmen die maximale Größe einer Datei. - -> **Feedback:** IP-Pakete können unterschiedliche Routen nehmen → Part 3 kommt vor Part 1. TCP sortiert sie anhand der Sequenznummern wieder. - ---- - ## BLOCK C – HTTP @@ -878,6 +599,7 @@ Ordnen Sie jeder HTTP-Methode ihre Hauptfunktion zu. - Ersetzt eine existierende Ressource vollständig - Erstellt eine neue Ressource auf dem Server - Ruft eine Ressource ab (nur lesen) + --- ### C1 – HTTP-Methoden: Zuordnung (Lösung) @@ -991,24 +713,6 @@ Eine Person löscht einen von ihr erstellten Kommentar auf einer Webseite. Welch --- - - -### C5 – GET: Warum nicht für Passwörter? -**Thema:** HTTP-Methoden – GET Sicherheit -**Punkte:** 2 -**Typ:** `[MC]` - -Warum sollte man niemals GET verwenden, um sensible Daten (z. B. ein Passwort) an den Server zu senden? - -- [ ] GET ist langsamer als POST – Passwörter müssen schnell übertragen werden. -- [x] **Bei GET stehen die Daten sichtbar in der URL (Browser-Verlauf, Server-Logs, Proxy-Server). Bei POST sind sie im Body versteckt.** -- [ ] GET erlaubt nur Zahlen, keine Buchstaben. -- [ ] GET wird vom Server nie verschlüsselt, POST immer. - -> **Feedback:** GET-Parameter hängen an der URL (`?pw=123`). Diese ist in History, Logs, Proxies sichtbar. HTTPS verschlüsselt zwar beides auf der Leitung, aber die URL selbst wird an zu vielen Stellen gespeichert. - ---- - ### C6 – Status-Codes: Kategorisierung **Thema:** HTTP Status-Codes – Bedeutung der ersten Ziffer **Punkte:** 2 @@ -1027,6 +731,7 @@ Ordnen Sie jeder ersten Ziffer eines HTTP-Status-Codes ihre Bedeutung zu. - Client-Fehler – die Anfrage der Anfragenden war fehlerhaft - Weiterleitung – die Ressource wurde verschoben - Erfolg – die Anfrage wurde erfolgreich verarbeitet + --- ### C6 – Status-Codes: Kategorisierung (Lösung) @@ -1127,6 +832,7 @@ Ordnen Sie jedem Szenario den passenden HTTP-Status-Code zu. - 404 Not Found - 200 OK - 301 Moved Permanently + --- ### C9 – Status-Codes: Szenarios zuordnen (Lösung) @@ -1168,68 +874,6 @@ Erklären Sie die drei HTTP-Status-Code-Kategorien **2xx**, **4xx** und **5xx**. --- - - -### C9b – HTTP-Methoden vergleichen: GET, POST, PUT, DELETE -**Thema:** HTTP-Methoden – Vergleich -**Punkte:** 3 -**Typ:** `[ESSAY]` - -Erklären Sie die vier HTTP-Methoden **GET**, **POST**, **PUT** und **DELETE**. Beschreiben Sie für jede: (1) die Hauptfunktion, (2) ob Daten im Request-Body gesendet werden, (3) ein konkretes Beispiel. - -> **Musterlösung:** **GET:** Ruft eine Ressource ab (nur lesen). Keine Daten im Body (Parameter in URL). Beispiel: Webseite aufrufen. **POST:** Erstellt eine neue Ressource. Daten im Body. Beispiel: Neuen Blog-Eintrag erstellen. **PUT:** Ersetzt eine existierende Ressource vollständig. Daten im Body. Beispiel: Profilbild durch ein neues ersetzen. **DELETE:** Löscht eine Ressource. Meist keine Daten im Body. Beispiel: Kommentar löschen. - ---- - - - -### C10 – Status-Codes: Freitext -**Thema:** HTTP Status-Codes – Konzept zusammenfassen -**Punkte:** 2 -**Typ:** `[ESSAY]` - -Erklären Sie, warum HTTP-Status-Codes aus einer dreistelligen Zahl bestehen und was die erste Ziffer konkret bedeutet. Nennen Sie je einen Beispiel-Code für 2xx, 4xx und 5xx. - -> **Musterlösung:** Die erste Ziffer kategorisiert die Antwort: 2xx = Erfolg, 3xx = Weiterleitung, 4xx = Client-Fehler, 5xx = Server-Fehler. Die restlichen zwei Ziffern spezifizieren den genauen Fall. Beispiele: 200 OK (Erfolg), 404 Not Found (Client-Fehler), 500 Internal Server Error (Server-Fehler). Diese Struktur ermöglicht es, allein aus dem Code zu verstehen, ob und wo ein Problem liegt – ohne die Antwort ganz lesen zu müssen. - ---- - - - -### C11 – 401 vs. 403: Wo liegt der Unterschied? -**Thema:** HTTP Status-Codes – 401 vs. 403 -**Punkte:** 1 -**Typ:** `[MC]` - -Eine Person ruft eine geschützte Seite auf. Worin unterscheiden sich 401 und 403? - -- [x] **401 Unauthorized: nicht angemeldet („Wer sind Sie?"). 403 Forbidden: angemeldet, aber ohne Berechtigung („Zugriff verweigert").** -- [ ] 401 ist ein Server-Fehler, 403 ein Client-Fehler. -- [ ] 401 bedeutet „dauerhaft verschoben", 403 „temporär nicht verfügbar". -- [ ] Beide bedeuten dasselbe und sind austauschbar. - -> **Feedback:** 401 = Authentifizierung fehlt (nicht eingeloggt). 403 = Authentifizierung vorhanden, aber Autorisierung fehlt (keine Rechte). Beide gehören zu 4xx (Client-Seite). - ---- - - - -### C12 – 301 vs. 302: Weiterleitung -**Thema:** HTTP Status-Codes – 301 vs. 302 -**Punkte:** 1 -**Typ:** `[MC]` - -Eine Ressource wurde verschoben. Wann sendet der Server 301 statt 302? - -- [x] **301 bei dauerhafter Verschiebung (Browser und Suchmaschinen merken sich die neue URL). 302 bei temporärer Verschiebung (die alte URL bleibt maßgeblich).** -- [ ] 301 ist ein Fehlercode, 302 ein Erfolgscode. -- [ ] 301 wird nur bei HTTPS verwendet, 302 nur bei HTTP. -- [ ] Es gibt keinen Unterschied in der Wirkung. - -> **Feedback:** 301 Moved Permanently ist cachebar und SEO-relevant (die Linkkraft wandert mit). 302 Found signalisiert eine temporäre Verschiebung – die ursprüngliche URL bleibt gültig. - ---- - ## BLOCK D – DNS @@ -1298,124 +942,12 @@ Sie geben `https://hdm-stuttgart.de` in die Adresszeile ein. Was passiert **vor* --- - - -### D1-alt – DNS: Was macht es? -**Thema:** DNS – Grundfunktion -**Punkte:** 1 -**Typ:** `[MC]` - -Was ist die Hauptfunktion eines DNS-Servers? - -- [ ] Er verschlüsselt die Verbindung zwischen Client und Server. -- [x] **Er übersetzt einen Domain-Namen (z. B. `hdm-stuttgart.de`) in eine IP-Adresse.** -- [ ] Er routet Pakete durch das Internet. -- [ ] Er weist jedem Computer eine MAC-Adresse zu. - -> **Feedback:** DNS = Domain Name System = „Telefonbuch des Internets". Name → IP. Ohne DNS müsste man überall IP-Adressen eintippen. - ---- - - - -### D2 – DNS: Zeitlicher Ablauf -**Thema:** DNS – Rolle im Gesamtablauf -**Punkte:** 2 -**Typ:** `[MC]` - -Sie geben `https://hdm-stuttgart.de` in die Adresszeile ein. Was passiert vor dem TCP-Handshake? - -- [ ] Der Browser sendet direkt den Namen an den Server – DNS wird erst danach benötigt. -- [x] **DNS-Auflösung: Der Name wird in eine IP-Adresse umgewandelt. TCP kann nur zu IP-Adressen Verbindungen aufbauen.** -- [ ] DNS passiert nach dem TCP-Handshake. -- [ ] DNS ist nur für HTTPS nötig – bei HTTP kann der Name direkt verwendet werden. - -> **Feedback:** DNS vor TCP. Kein Name-to-IP? Kein Handshake möglich. TCP arbeitet auf IP-Adressen, nicht auf Domain-Namen. - ---- - - - -### D3 – DNS: Warum zwingend nötig? -**Thema:** DNS – Transfer/Begründung -**Punkte:** 2 -**Typ:** `[ESSAY]` - -Erklären Sie in 2–3 Sätzen, warum der DNS-Schritt zwingend vor dem TCP-Handshake stehen muss. Was würde passieren, wenn der Browser den Domain-Namen direkt an den Netzwerk-Stack übergeben würde? - -> **Musterlösung:** TCP arbeitet nur mit IP-Adressen – ein Domain-Name wie `hdm-stuttgart.de` ist für TCP-/IP-Stack sinnlos. Ohne vorherige DNS-Auflösung würde der Browser nicht wissen, an welche IP er das SYN senden soll. Der DNS-Schritt konvertiert den human-readable-Namen in eine maschinenlesbare IP, erst danach kann der Verbindungsaufbau beginnen. - ---- - - - -### D4 – DNS: Lückentext -**Thema:** DNS – Terminologie -**Punkte:** 1 -**Typ:** `[CLOZE]` - -Der DNS-Server übersetzt einen [[1:Domain-Namen]] in eine [[2:IP-Adresse]]. Dieser Schritt fällt [[3:vor]] dem TCP-Handshake statt, weil TCP nur zu [[4:IP-Adressen]] Verbindungen aufbauen kann. - -> **Feedback:** Die vier Lücken beschreiben den DNS-Ablauf vollständig: Was wird übersetzt, in was, wann, und warum. - ---- - - - -### D5 – Encapsulation: Daten → Segment → Paket → Frame -**Thema:** Encapsulation – Transfer -**Punkte:** 3 -**Typ:** `[ESSAY]` - -Erklären Sie den Encapsulation-Prozess beim Senden einer Nachricht. Beschreiben Sie die vier Dateneinheiten **Daten**, **Segment**, **Paket** und **Frame**. Was wird bei jedem Schritt hinzugefügt und von welcher Schicht? - -> **Musterlösung:** **Daten:** Die eigentliche Nachricht (z.B. HTML) von der Anwendungsschicht. **Segment:** Transportschicht fügt TCP-Header hinzu (Ports, Sequenznummern). **Paket:** Internetschicht fügt IP-Header hinzu (Quell- und Ziel-IP-Adresse). **Frame:** Netzzugangsschicht fügt Ethernet-Header (MAC-Adressen) und Trailer (Prüfsumme) hinzu. Beim Empfänger wird in umgekehrter Reihenfolge ausgepackt (Decapsulation). - ---- - ## BLOCK E – Der Gesamtablauf (Zusammen) --- - - -### E1 – Reihenfolge eines HTTPS-Aufrufs -**Thema:** Gesamtablauf – Sortierung -**Punkte:** 2 -**Typ:** `[ORDER]` - -Sortieren Sie die Schritte eines HTTPS-Aufrufs in der richtigen Reihenfolge: - -1. DNS-Auflösung (Name → IP) -2. TCP 3-Way-Handshake (Verbindung aufbauen) -3. TLS-Handshake (Verschlüsselung vereinbaren) -4. HTTP GET (Anfrage senden) -5. HTTP 200 OK + HTML (Antwort empfangen) - -> **Feedback:** DNS → TCP → TLS → HTTP Request → HTTP Response. Jeder Schritt ist eine Voraussetzung für den nächsten. - ---- - - - -### E2 – Reihenfolge: Welche Folge ist korrekt? -**Thema:** Gesamtablauf – Multiple Choice -**Punkte:** 1 -**Typ:** `[MC]` - -Sie geben eine URL ein. Welche Reihenfolge ist korrekt? - -- [ ] (1) TCP-Handshake → (2) DNS → (3) HTTP GET → (4) HTTP 200 OK -- [x] **(1) DNS → (2) TCP-Handshake → (3) HTTP GET → (4) HTTP 200 OK** -- [ ] (1) HTTP GET → (2) DNS → (3) TCP-Handshake → (4) HTTP 200 OK -- [ ] (1) DNS → (2) HTTP GET → (3) TCP-Handshake → (4) HTTP 200 OK - -> **Feedback:** DNS immer zuerst. Dann TCP (Verbindung). Dann HTTP (Anfrage/Antwort). - ---- - ### E3 – Gesamtablauf: DNS, TCP, HTTP erklären **Thema:** Gesamtablauf – Schritte erklären **Punkte:** 3 @@ -1495,6 +1027,7 @@ Ordnen Sie jedem Element zu, ob es in `
` oder `` gehört. - `` - `` - `` + --- ### F2 – ``: Was gehört wohin? (Lösung) @@ -1517,24 +1050,6 @@ Ordnen Sie jedem Element zu, ob es in `` oder `` gehört. --- - - -### F3 – Charset: Was passiert ohne ``? -**Thema:** HTML – Zeichenkodierung -**Punkte:** 1 -**Typ:** `[MC]` - -Was ist die konkrete Konsequenz, wenn `` fehlt oder falsch gesetzt ist? - -- [ ] Die Webseite lädt gar nicht. -- [x] **Sonderzeichen (Umlaute, Emojis) werden als kryptische Symbole dargestellt, weil der Browser die falsche Zeichenkodierung rät.** -- [ ] Die Seite wird langsamer, da der Browser alle Sprachen durchprobieren muss. -- [ ] Das CSS wird nicht geladen. - -> **Feedback:** Ohne charset nutzt der Browser oft einen Standard wie Latin-1. Bei UTF-8-gespeicherten Dateien → Umlaute und Emojis werden falsch dargestellt (Mojibake). - ---- - ### F4 – Umschließende vs. selbst-schließende Tags **Thema:** HTML-Anatomie – Tag-Typen **Punkte:** 2 @@ -1555,6 +1070,7 @@ Ordnen Sie jedes HTML-Element seinem Tag-Typ zu. - Selbst-schließend (kein End-Tag) - Umschließend (Start- und End-Tag) - Umschließend (Start- und End-Tag) + --- ### F4 – Umschließende vs. selbst-schließende Tags (Lösung) @@ -1582,103 +1098,6 @@ Ordnen Sie jedes HTML-Element seinem Tag-Typ zu. --- - - -### G1 – Spezifität: ID vs. Klasse vs. Element -**Thema:** CSS Spezifität – Grundregel -**Punkte:** 2 -**Typ:** `[MC]` - -Gegeben: -``` -p { color: blue; } -.highlight { color: green; } -#main { color: red; } -``` -Ein Element `` wird angezeigt. Welche Farbe? - -- [ ] Blau – die Element-Regel steht zuerst im Code. -- [ ] Grün – Klassen haben immer Vorrang vor IDs. -- [x] **Rot – die ID `#main` hat die höchste Spezifität (0,1,0,0).** -- [ ] Rot – die letzte Regel im Code gewinnt immer. - -> **Feedback:** Spezifität: ID (0,1,0,0) > Klasse (0,0,1,0) > Element (0,0,0,1). Reihenfolge im Code ist nur relevant bei gleicher Spezifität. - ---- - - - - -### G2 – Responsive Design: Mobile First – Welche Farbe? -**Thema:** CSS Media Queries – Mobile First -**Punkte:** 2 -**Typ:** `[MC]` - -```css -.container { background: white; } -@media (min-width: 768px) { .container { background: blue; } } -@media (min-width: 1024px) { .container { background: green; } } -``` -Welche Farbe bei 900 px Breite? - -- [ ] Weiß – Media-Queries gelten nur ab 1024 px. -- [ ] Grün – die letzte Media-Query überschreibt immer. -- [x] **Blau – bei 900 px greift `min-width: 768px` (900 ≥ 768), aber `min-width: 1024px` nicht (900 < 1024).** -- [ ] Weiß – keine Media-Query greift zwischen den Breakpoints. - -> **Feedback:** Mobile First: Basis = white. Bei 900px: 768px-Query greift ✓, 1024px-Query greift ✗ → blau. - ---- - - - -### G3 – Desktop First: `max-width` erkläre -**Thema:** CSS Media Queries – Desktop First -**Punkte:** 1 -**Typ:** `[MC]` - -Wie würde eine Media Query für „Desktop First" aussehen (Standard ist Desktop, Anpassung für kleine Screens)? - -- [ ] `@media (device-width: small) { ... }` -- [ ] `@media (min-width: ...)` – bleibt gleich, nur die Reihenfolge ändert sich. -- [x] **`@media (max-width: ...)` – Stile für Bildschirme, die kleiner als eine bestimmte Breite sind.** -- [ ] `@media (mobile: true) { ... }` - -> **Feedback:** Desktop First: Basis-CSS für große Schirme. `max-width` = „Wenn der Bildschirm schmäler ist als X, dann…" – Ausnahmen für Tablets/Handys. - ---- - - - -### G4 – Mobile First vs. Desktop First: Vergleich -**Thema:** CSS Media Queries – Konzept-Vergleich -**Punkte:** 2 -**Typ:** `[ESSAY]` - -Erklären Sie den Unterschied zwischen „Mobile First" und „Desktop First" beim Responsive Design. Welche Media-Query-Eigenschaft nutzt jeder Ansatz, und warum? - -> **Musterlösung:** Mobile First: Das Basis-CSS ist für kleine Bildschirme (Handy). Mit `min-width` werden schrittweise Anpassungen für größere Bildschirme hinzugefügt („ab dieser Breite"). Desktop First: Das Basis-CSS ist für große Bildschirme. Mit `max-width` werden Ausnahmen für kleinere Geräte definiert (「bis zu dieser Breite"). Mobile First wird bevorzugt, weil die Mehrheit der Benutzenden mobil zugrifft und forced-mobile-first die Grundlage für progressive Enhancement bietet. - ---- - - - -### G5 – box-sizing: border-box -**Thema:** CSS Box-Modell – box-sizing -**Punkte:** 2 -**Typ:** `[MC]` - -Ein Element hat `width: 200px`, `padding: 20px` und `border: 5px`. Welche sichtbare Gesamtbreite ergibt sich mit `box-sizing: border-box`? - -- [x] **200 px – Padding und Border werden in die angegebene Breite eingerechnet.** -- [ ] 250 px – Padding und Border werden zur Breite addiert. -- [ ] 245 px – nur das Padding zählt, die Border nicht. -- [ ] 200 px, aber nur, wenn kein Margin gesetzt ist. - -> **Feedback:** `border-box`: die `width` umfasst Content + Padding + Border (hier 200 px gesamt). Der Standard `content-box` würde addieren (200 + 2×20 + 2×5 = 250 px). Deshalb gilt `box-sizing: border-box` als Best Practice. - ---- - ### G6 – CSS-Farbnotationen zuordnen **Thema:** CSS Farben – Notationen **Punkte:** 2 @@ -1699,6 +1118,7 @@ Ordnen Sie jede Schreibweise für die Farbe Rot ihrer Notation zu. - RGB (Red Green Blue) - Hexadezimal - Schlüsselwort + --- ### G6 – CSS-Farbnotationen zuordnen (Lösung) @@ -1720,6 +1140,48 @@ Ordnen Sie jede Schreibweise für die Farbe Rot ihrer Notation zu. --- +### G7 – Selektoren: Der ID-Selektor +**Thema:** CSS Selektoren – ID-Selektor +**Punkte:** 2 +**Typ:** `[MC]` + +Gegeben ist folgendes HTML-Element: + +```html +
Hallo Welt
+``` + +Mit welchem CSS-Selektor sprechen Sie **gezielt dieses eine Element über seine ID** an? + +- [ ] `#intro { color: red; }` +- [ ] `.intro { color: red; }` +- [ ] `p { color: red; }` +- [ ] `p #intro { color: red; }` + +--- + +### G7 – Selektoren: Der ID-Selektor (Lösung) +**Thema:** CSS Selektoren – ID-Selektor +**Punkte:** 2 +**Typ:** `[MC]` + +Gegeben ist folgendes HTML-Element: + +```html +Hallo Welt
+``` + +Mit welchem CSS-Selektor sprechen Sie **gezielt dieses eine Element über seine ID** an? + +- [x] **`#intro { color: red; }`** +- [ ] `.intro { color: red; }` +- [ ] `p { color: red; }` +- [ ] `p #intro { color: red; }` + +> **Feedback:** Der ID-Selektor beginnt mit `#` und wählt das Element mit dem passenden `id`-Attribut; eine `id` darf pro Seite nur einmal vorkommen – er adressiert genau ein Element. Abgrenzung: `.intro` = Klassen-Selektor, `p` = Element-Selektor (trifft alle ``), `p #intro` = Nachfahren-Selektor. + +--- + ## BLOCK H – Barrierefreiheit @@ -1748,6 +1210,7 @@ Ordnen Sie jedem Eingabegerät seine Nutzungsweise zu. - Vorlesen von Inhalten - Tab-Navigation, Enter, Pfeiltasten - Klicken, Scrollen + --- ### H1 – Wie nutzen Menschen das Web? (Lösung) @@ -1770,87 +1233,6 @@ Ordnen Sie jedem Eingabegerät seine Nutzungsweise zu. --- - - -### H2 – Einschränkungen: Temporär vs. situativ -**Thema:** Barrierefreiheit – Einschränkungstypen -**Punkte:** 2 -**Typ:** `[MC]` - -Eine Person kann aktuell nur mit einer Hand ihr Handy bedienen, weil sie das Baby auf dem Arm trägt. Wie klassifiziert man diese Einschränkung? - -- [ ] Permanent – das ist eine bleibende körperliche Behinderung. -- [ ] Temporär – die Person ist verletzt und braucht Zeit zum Heilen. -- [x] **Situativ – die Einschränkung entsteht durch die aktuelle Umgebung/Situation, nicht durch eine Behinderung.** -- [ ] Diese Art von Einschränkung existiert nicht – Barrierefreiheit betrifft nur Menschen mit Behinderung. - -> **Feedback:** Drei Typen: Permanent (z. B. Blindheit), Temporär (z. B. gebrochener Arm, Augen-OP), Situativ (z. B. helle Sonne, laute Umgebung, Baby auf dem Arm). Barrierefreie Gestaltung hilft bei allen drei. - ---- - - - -### H2a – Einschränkungen: Permanent, Temporär, Situativ -**Thema:** Barrierefreiheit – Einschränkungstypen erklären -**Punkte:** 3 -**Typ:** `[ESSAY]` - -Erklären Sie die drei Typen von Einschränkungen: **permanent**, **temporär** und **situativ**. Nennen Sie für jeden Typ: (1) eine Definition, (2) ein konkretes Beispiel, (3) wie barrierefreie Gestaltung in diesem Fall hilft. - -> **Musterlösung:** **Permanent:** Dauerhafte körperliche/kognitive Behinderung. Beispiel: Blindheit. Hilfe: Screenreader kann Alt-Texte vorlesen. **Temporär:** Zeitlich begrenzte Einschränkung durch Verletzung/Krankheit. Beispiel: Gebrochener Arm. Hilfe: Tastaturnavigation ermöglicht Bedienung ohne Maus. **Situativ:** Einschränkung durch aktuelle Umgebung/Situation. Beispiel: Helle Sonne auf dem Bildschirm. Hilfe: Hoher Kontrast macht Text trotzdem lesbar. - ---- - - - -### H3 – Curb-Cut-Effekt: Beispiel identifizieren -**Thema:** Barrierefreiheit – Curb-Cut-Effekt -**Punkte:** 1 -**Typ:** `[MC]` - -Welches Beispiel demonstriert den Curb-Cut-Effekt? - -- [ ] Barrierefreie Webseiten laden langsamer. -- [x] **Untertitel: gedacht für Gehörlose, helfen aber auch in lauter Umgebung oder beim Sprachlernen.** -- [ ] Der Curb-Cut-Effekt bedeutet, dass barrierefreie Seiten nur für Menschen mit Behinderung nützlich sind. -- [ ] Alt-Texte verlängern die Ladezeit einer Webseite. - -> **Feedback:** Curb-Cut-Effekt = eine barrierefreie Lösung nutzt am Ende allen. Untertitel für Gehörlose → helfen auch in lauter Umgebung. Kontrastreiche Farben für Sehbehinderung → besser im Sonnenlicht, für ältere Menschen. - ---- - - - -### H4 – Curb-Cut-Effekt: Erklärung -**Thema:** Barrierefreiheit – Curb-Cut-Effekt Transfer -**Punkte:** 2 -**Typ:** `[ESSAY]` - -Erklären Sie das Konzept des Curb-Cut-Effekts. Nennen Sie zwei konkrete Web-Beispiele und erklären Sie jeweils, wer die ursprüngliche Zielgruppe war und wer sonst davon profitiert. - -> **Musterlösung:** Der Curb-Cut-Effekt beschreibt, wie eine Maßnahme für Menschen mit Behinderung am Ende allen zugute kommt – wie die Bordsteinabsenkung, die für Rollstuhlfahrer gedacht war, aber auch Kinderwagen, Rollkoffer und Fahrrädern helfen. Web-Beispiele: (1) Untertitel – primär für Gehörlose, helfen auch in lauter Umgebung oder beim Sprachlernen. (2) Alt-Texte – primär für Screen-Reader-Benutzende, helfen auch Suchmaschinen (SEO). - ---- - - - - -### H5 – EAA: Was ist das? -**Thema:** Barrierefreiheit – Rechtlicher Rahmen -**Punkte:** 1 -**Typ:** `[MC]` - -Was ist der European Accessibility Act (EAA)? - -- [ ] Ein freiwilliges EU-Programm zur Förderung barrierefreier Websites. -- [x] **Eine EU-Richtlinie, die seit Juni 2025 in Kraft ist und Barrierefreiheit in bestimmten digitalen Bereichen verpflichtend macht.** -- [ ] Ein deutsches Gesetz, das nur öffentliche Behörden betrifft. -- [ ] Ein technisches Standard wie HTML oder CSS. - -> **Feedback:** EAA = European Accessibility Act. Seit 28. Juni 2025 in Kraft. Betrifft E-Commerce, Banking, Telekommunikation, Transport, E-Books. In Deutschland umgesetzt durch das BFSG (Barrierefreiheitsstärkungsgesetz). Verstoß: bis 100.000€ Bußgeld möglich. - ---- - ### H6 – Barrierefreiheit: Warum auch für „normale" Benutzende? **Thema:** Barrierefreiheit – Business Case **Punkte:** 2 @@ -1901,34 +1283,3 @@ Sie möchten eine Webseite auf Barrierefreiheit testen, ohne assistive Technolog > **Feedback:** Der Tastatur-Test ist der schnellste barrierefreie Selbsttest: Nur Tab + Enter benutzen. Wenn man so eine Funktion nicht erreicht kann, ist sie für Tastatur-Benutzende (und damit auch für Screenreader-Benutzende) nicht zugänglich. Tools wie axe DevTools oder Lighthouse automatisieren ~30% der Checks. ---- - - - -## BLOCK I – Zusammenfassung-Fragen (Übergreifend) - ---- - - - -### I1 – Gesamtablauf: Wahl der richtigen Methode -**Thema:** HTTP + TCP + DNS zusammen -**Punkte:** 3 -**Typ:** `[ESSAY]` - -Eine Person klickt auf einen „Neuen Eintrag erstellen"-Button einer Webanwendung. Beschreiben Sie vom Klick bis zur Antwort des Servers, welche Protokolle beteiligt sind und welche HTTP-Methode verwendet wird. - -> **Musterlösung:** (1) Der Browser sendet eine HTTP-Anfrage. Da es sich um eine neue Ressource handelt, nutzt er POST. (2) Vorher: DNS löst den Domain-Namen auf. (3) TCP-Handshake stellt die Verbindung her. (4) POST-Anfrage wird gesendet (Daten im Body). (5) Server verarbeitet, erstellt den Eintrag, antwortet mit 201 Created. - ---- - - - -### I2 – Gesamtablauf: Störfall analysieren -**Thema:** Netzwerk + HTTP – Transfer/Problemlösung -**Punkte:** 3 -**Typ:** `[ESSAY]` - -Sie rufen eine Webseite auf und erhalten eine Fehlermeldung. Beschreibe drei verschiedene Szenarien, die zu einer Fehlermeldung führen könnten, und erkläre, in welcher „Schicht" des Ablaufs (DNS, TCP, HTTP) das Problem liegt und wie Sie es erkennen. - -> **Musterlösung:** (1) DNS-Fehler: „Der Server wurde nicht gefunden" → DNS konnte den Namen nicht auflösen (z. B. Tippfehler in der URL oder DNS-Server nicht erreichbar). (2) TCP-Fehler: „Die Verbindung wurde verweigert" → Server existiert (IP bekannt), akzeptiert aber keine Verbindung (nicht gestartet, Port blockiert). (3) HTTP-Fehler: 404 → TCP-Verbindung erfolgreich, aber die angeforderte Ressource existiert nicht auf dem Server.