Alle Tabs der Lerneinheit (Erklärung · Interaktiv verstehen · Praxis-Übung · Klausur-Quiz) als durchgehender Text. Ideal zum Wiederholen vor der Klausur, und für Suchmaschinen wie Google, Bing und KI-Suche (ChatGPT, Perplexity).
Erklärung
HTTP und DNS, die Anwendungsschicht des Webs
Was passiert, wenn du "example.de" in den Browser tippst? Es ist nicht magic. 10 Schritte bringen dich von dem Domain-Namen zur ersten Pixel-Zeile. Klausurpflicht in 7/10 Netze-Modulen.
Die Idee in einem Satz
DNS löst Namen in IP-Adressen auf (Browser kennt nur den Namen, das Netz nur die IP). HTTP transportiert die eigentlichen Daten zwischen Browser und Webserver, strukturiert in Request (Anfrage) und Response (Antwort).
DNS, das Telefonbuch des Internets
Warum brauchen wir DNS? Browser kennt nur "example.de". Das Netz routet aber nur IPv4 (192.168.1.1) oder IPv6 (2001:db8::1). DNS übersetzt.
DNS-Hierarchie
Root (.)
/ | \
.de .com .org ...
|
example.de (autoritativer Nameserver)
|
www.example.de blog.example.de ...
13 Root-Server (a.root-servers.net bis m.root-servers.net) sind die Spitze. Jede TLD (.de, .com, etc.) hat eigene Nameserver. Jede Domain hat einen autoritativen Nameserver.
DNS-Auflösung Schritt-für-Schritt
Wenn du example.de tippst:
- Browser fragt DNS-Resolver (oft beim ISP, oder 8.8.8.8 Google, oder 1.1.1.1 Cloudflare): "Was ist die IP von example.de?"
- Resolver fragt Root: "Wer kennt .de?"
- Root antwortet: "Frag f.nic.de" (Referral).
- Resolver fragt .de-Nameserver: "Wer kennt example.de?"
- .de-Nameserver antwortet: "Frag ns.example.de" (Referral).
- Resolver fragt ns.example.de: "Was ist die IP von example.de?"
- ns.example.de antwortet: "93.184.216.34" (autoritative Antwort).
- Resolver cached die IP für TTL (Time To Live) Sekunden, gibt sie an den Browser.
Resolver-Caching: Wenn 1000 User example.de besuchen, fragt der Resolver nur 1x die ganze Kette ab, danach kommt die Antwort aus dem Cache (für TTL Sekunden, typisch 1h-24h).
DNS-Record-Typen
| Record | Was es speichert | Beispiel |
|---|---|---|
| A | IPv4-Adresse | example.de → 93.184.216.34 |
| AAAA | IPv6-Adresse | example.de → 2606:2800:220:1:248:1893:25c8:1946 |
| MX | Mail-Server | example.de → mail.example.de (Prio 10) |
| CNAME | Alias (Synonym) | www.example.de → example.de |
| TXT | Frei-Text (oft für SPF/DKIM) | "v=spf1 include:_spf.google.com ~all" |
| NS | Nameserver | example.de → ns1.dns-provider.com |
Rekursive vs. iterative Anfragen
- Browser → Resolver: REKURSIV (Browser will die fertige IP, kein Ping-Pong).
- Resolver → Root/TLD/autoritativ: ITERATIV (Resolver bekommt Referrals, hangelt sich durch die Hierarchie).
Klausur-Stolperstein: rekursiv oder iterativ ist eine Eigenschaft der ANFRAGE, nicht des Servers. Ein Resolver MACHT iterative Anfragen, ist aber selbst ein rekursiver Service.
HTTP, Hypertext Transfer Protocol
HTTP ist das Protokoll zwischen Browser und Webserver. Stateless (jede Anfrage ist isoliert), text-basiert, Port 80 (HTTPS = HTTP über TLS, Port 443).
HTTP-Request-Struktur
GET /index.html HTTP/1.1
Host: example.de
User-Agent: Mozilla/5.0
Accept: text/html
Cookie: sessionId=abc123
[optionaler Body, z.B. bei POST]
Aufbau:
- Request-Line: Methode + Pfad + HTTP-Version
- Header: Schlüssel-Wert-Paare, beendet mit Leerzeile
- Body: optional (bei POST, PUT)
HTTP-Methoden (Verben)
| Methode | Bedeutung | Idempotent? | Body? |
|---|---|---|---|
| GET | Ressource holen | ja | nein |
| POST | Ressource erstellen / Form-Daten senden | nein | ja |
| PUT | Ressource ersetzen | ja | ja |
| PATCH | Ressource teilweise aktualisieren | nein | ja |
| DELETE | Ressource löschen | ja | nein |
| HEAD | Headers ohne Body (Existenz-Check) | ja | nein |
| OPTIONS | Verfügbare Methoden abfragen (CORS-Preflight) | ja | nein |
Idempotent = mehrfaches Ausführen ändert das Resultat nicht (GET, PUT, DELETE schon, POST nicht).
HTTP-Status-Codes
Drei Stellen, erste Stelle = Kategorie:
| Kategorie | Bedeutung | Wichtige Codes |
|---|---|---|
| 1xx | Informativ | 100 Continue, 101 Switching Protocols |
| 2xx | Erfolg | 200 OK, 201 Created, 204 No Content, 206 Partial Content |
| 3xx | Umleitung | 301 Moved Permanently, 302 Found, 304 Not Modified |
| 4xx | Client-Fehler | 400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found, 429 Too Many Requests |
| 5xx | Server-Fehler | 500 Internal Server Error, 502 Bad Gateway, 503 Service Unavailable |
Klausur-Klassiker: Was bedeutet 403 vs. 404 vs. 401?
- 401 Unauthorized: Nicht eingeloggt (oder falsche Credentials).
- 403 Forbidden: Eingeloggt, aber keine Rechte für diese Ressource.
- 404 Not Found: Ressource existiert nicht.
HTTP-Response-Struktur
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 1234
Set-Cookie: sessionId=xyz789
Cache-Control: max-age=3600
<html>...</html>
HTTP-Versionen
| Version | Jahr | Features |
|---|---|---|
| HTTP/1.0 | 1996 | Eine Anfrage pro Verbindung |
| HTTP/1.1 | 1997 | Keep-Alive (mehrere Anfragen pro Verbindung), Host-Header, Pipelining |
| HTTP/2 | 2015 | Binär, Multiplexing, Server-Push, Header-Kompression (HPACK) |
| HTTP/3 | 2022 | Über QUIC (UDP statt TCP), schneller bei Mobilfunk-Wechseln |
HTTPS, HTTP über TLS
HTTPS = HTTP über TLS (früher SSL). Verschlüsselung + Authentifizierung. TLS-Handshake VOR der ersten HTTP-Anfrage. Port 443 statt 80.
Klausur-Faustregeln
1. DNS löst Name in IP auf, HTTP transportiert Daten. Zwei verschiedene Protokolle, beide Anwendungsschicht.
2. DNS-Hierarchie auswendig. Root, dann TLD (.de/.com), dann autoritativer NS.
3. Rekursive vs. iterative Anfrage unterscheiden. Browser → Resolver = rekursiv. Resolver → Hierarchie = iterativ.
4. HTTP-Status-Codes Kategorien kennen. 2xx OK, 3xx Redirect, 4xx Client-Fehler, 5xx Server-Fehler.
5. GET vs. POST vs. PUT unterscheiden. GET liest (idempotent), POST schreibt (NICHT idempotent), PUT ersetzt (idempotent).
6. HTTPS = HTTP + TLS auf Port 443. Kein eigenes Protokoll.
Häufige Stolpersteine
1. DNS arbeitet auf Anwendungsschicht. Klingt low-level (Namen, Adressen), ist aber Anwendungs-Protokoll (Port 53, oft UDP).
2. HTTP ist stateless. Cookies und Sessions sind App-Logik, nicht HTTP-Feature. HTTP selbst speichert nichts.
3. 301 vs. 302 verwechseln. 301 = permanent (Browser cached, Google folgt). 302 = temporär.
4. 403 vs. 401 verwechseln. 401 = nicht authentifiziert. 403 = authentifiziert, aber keine Rechte.
5. PUT vs. POST verwechseln. PUT ersetzt eine spezifische Ressource (idempotent). POST erstellt neue.
6. DNS-TTL beim Domain-Umzug. Wenn TTL=86400 (24h), kann ein Resolver die alte IP bis zu 24h cachen. Bei Domain-Wechseln vorher TTL auf 60s reduzieren.
Interaktiv verstehen
HTTP + DNS, interaktiv
Sequenz-Stepper: Browser → DNS-Resolver → Webserver → Browser. Toggle "rekursiv" (10 Schritte mit allen DNS-Iterationen) vs. "iterativ" (6 Schritte kompakt).
Pro Schritt: konkrete HTTP-Header, DNS-Queries, Antworten. Klicke auf einen Schritt in der Liste, um direkt dorthin zu springen.
Interaktive Visualisierung
Interaktive Komponente: probiere sie im Topic-Player oben aus.
Klausur-Tipp: DNS-Reihenfolge auswendig lernen (Browser → Resolver → Root → TLD → autoritativ → zurück). HTTP-Header-Format (Request-Line / Header-Block / Leerzeile / Body) ist Pflicht-Wissen.
Praxis-Übung
HTTP + DNS, Praxis-Übung
6 Aufgaben zu DNS-Hierarchie, HTTP-Methoden und Status-Codes.
Klausurfragen mit Lösungen (6)
- F1.Was ist die Aufgabe von DNS?
Antwort: Domain-Namen in IP-Adressen auflösen
Erklärung: DNS (Domain Name System) übersetzt Domain-Namen (example.de) in IP-Adressen (93.184.216.34). Es ist das 'Telefonbuch des Internets'. DNS arbeitet auf Anwendungsschicht (L7) und nutzt typischerweise UDP Port 53. Klausur-Standardfrage.
- F2.Welcher HTTP-Status-Code bedeutet 'Ressource nicht gefunden'?
Antwort: 404
Erklärung: 404 = Not Found. Die Ressource (URL) existiert nicht auf dem Server. Zum Vergleich: 200 = OK (Erfolg), 301 = Moved Permanently (Redirect), 500 = Internal Server Error (Server-Fehler). Klausur-Klassiker.
- F3.Ordne HTTP-Status-Code seiner Bedeutung zu.
Zuordnungen:
- 200 OK → Erfolgreiche Anfrage
- 301 Moved Permanently → Ressource hat neue URL (Cache!)
- 403 Forbidden → Authentifiziert, aber keine Rechte
- 500 Internal Server Error → Server-Fehler
Erklärung: HTTP-Status-Code-Kategorien: 2xx Erfolg, 3xx Redirect, 4xx Client-Fehler, 5xx Server-Fehler. 200=OK, 301=permanent redirect (vs 302 temporär), 403=keine Rechte (vs 401=nicht eingeloggt), 500=allg. Server-Fehler. Klausur-Pflicht-Wissen.
Typ: Zuordnung
- F4.In welcher Reihenfolge fragt ein DNS-Resolver die DNS-Hierarchie ab?
Antwort: Root → TLD → autoritativer NS
Erklärung: Iterative DNS-Auflösung: Root-Server (kennt nur TLDs) → TLD-Nameserver (z.B. .de, kennt Domain-Nameserver) → autoritativer Nameserver (kennt die finale IP). Browser fragt Resolver rekursiv, Resolver iteriert. Klausur-Stolperstein: oft wird die Reihenfolge umgedreht.
- F5.HTTP ist stateful: der Server merkt sich automatisch, welcher Browser welche Anfragen gemacht hat.
Antwort: Falsch
Erklärung: FALSCH. HTTP ist STATELESS. Jede Anfrage ist isoliert, der Server merkt sich von sich aus NICHTS zwischen Anfragen. Sessions werden via Cookies (gespeichert im Browser) oder Server-Side Sessions (mit Session-ID-Cookie) realisiert. Das ist Anwendungs-Logik, kein HTTP-Feature. Klausur-Klassiker.
Typ: Wahr/Falsch
- F6.Was ist der Unterschied zwischen HTTP-Status 401 und 403?
Antwort: 401 = nicht authentifiziert (nicht eingeloggt), 403 = authentifiziert aber keine Rechte
Erklärung: 401 Unauthorized: User ist NICHT eingeloggt oder hat falsche Credentials. Server kennt ihn nicht. 403 Forbidden: User IST eingeloggt und identifiziert, hat aber keine Rechte für diese spezifische Ressource. Beispiel: User loggt sich ein (401 weg), versucht aber Admin-Page → 403. Klausur-Detail.
Klausur-Quiz
HTTP + DNS, Klausur-Quiz
6 Klausur-Fragen mit HTTP-Methoden, Status-Codes und DNS-Details.
Klausurfragen mit Lösungen (6)
- F1.Welcher Standard-Port wird für HTTPS verwendet?
Antwort: Port 443
Erklärung: HTTPS (HTTP über TLS) nutzt Port 443. HTTP unverschlüsselt nutzt Port 80. Zum Vergleich: Port 21 = FTP (Datei-Transfer), Port 53 = DNS, Port 22 = SSH, Port 25 = SMTP. Klausur-Pflicht-Wissen.
- F2.Welche HTTP-Methode wird typischerweise verwendet, um eine neue Ressource auf dem Server zu erstellen (z.B. Formular-Submit)?
Antwort: POST
Erklärung: POST erstellt neue Ressourcen (Formular-Submit, neuer Kommentar, neue User). POST ist NICHT idempotent (mehrfaches Senden erstellt mehrere Einträge). GET liest, PUT ersetzt eine spezifische Ressource (idempotent), DELETE löscht (idempotent). Klausur-Standardfrage.
- F3.Ordne DNS-Record-Typ seinem Zweck zu.
Zuordnungen:
- A → IPv4-Adresse
- AAAA → IPv6-Adresse
- MX → Mail-Server
- CNAME → Alias auf einen anderen Domain-Namen
Erklärung: DNS-Record-Typen: A=IPv4 (32-Bit), AAAA=IPv6 (128-Bit, 'Quad-A'), MX=Mail-Exchanger (mit Prio-Nummer), CNAME=Canonical Name (Alias, z.B. www.example.de → example.de), TXT=Frei-Text (SPF/DKIM-Email-Sicherheit), NS=Nameserver-Delegation. Klausur-Pflicht-Wissen.
Typ: Zuordnung
- F4.Was bedeutet 'idempotent' bei HTTP-Methoden?
Antwort: Mehrfaches Ausführen ändert das Resultat nicht
Erklärung: Idempotent = mehrfaches Ausführen führt zum gleichen Ergebnis. GET (mehrfach lesen = gleiche Daten), PUT (mehrfach ersetzen mit gleichen Daten = gleicher Stand), DELETE (mehrfach löschen = nichts da). POST ist NICHT idempotent (mehrfach absenden = mehrere Einträge). Klausur-Schlüsselbegriff.
- F5.DNS arbeitet typischerweise über UDP, nicht TCP, weil die Anfragen klein und latenz-kritisch sind.
Antwort: Wahr
Erklärung: RICHTIG. DNS nutzt UDP Port 53 für reguläre Queries (klein, schnell, kein Verbindungs-Overhead). TCP wird nur bei großen Antworten (>512 Bytes) oder Zone-Transfers verwendet. UDP-Wahl macht DNS deutlich schneller (kein 3-Way-Handshake nötig). Klausur-Detail.
Typ: Wahr/Falsch
- F6.Bei der DNS-Auflösung von 'shop.beispiel.de': in welcher Reihenfolge werden die Nameserver kontaktiert (vereinfacht, ohne Caching)?
Antwort: Root → .de NS → beispiel.de NS → shop.beispiel.de NS
Erklärung: DNS-Hierarchie wird TOP-DOWN abgefragt: Root (kennt TLDs) → .de NS (kennt Domains unter .de) → beispiel.de NS (kennt Subdomains von beispiel.de) → shop-Eintrag. Jeder Schritt gibt einen Referral auf den nächsten Server. Resolver iteriert und cached für TTL Sekunden. Klausur-Stolperstein: NICHT bottom-up.