14+ J
🔗 Page 03 von 8 · ~25 Min

Wie wird aus lunolabs.ch eine Webseite? 🔗

Hinter jedem URL-Klick stecken zwei Star-Protokolle: DNS (das Telefonbuch des Internets) und HTTP (die Sprache des Web). Mit HTTPS wird's verschlüsselt. Verstehe alle drei – und du verstehst, was dein Browser wirklich tut.

🌐 DNS-Hierarchie 📨 HTTP-Methoden 🔒 TLS-Handshake 🍪 Cookies
BROWSER lunolabs.ch DNS Name → IP 📞 Telefonbuch "wo wohnt?" 185.21.7.32 SERVER 185.21.7.32 🔒 HTTPS HTTPS GET / 200 OK <html>... Drei Konversationen in einer halben Sekunde

01DNS – das Telefonbuch des Internets

Computer sprechen IP-Adressen, Menschen sprechen Namen. DNS macht die Übersetzung.

Du tippst lunolabs.ch. Bevor irgendwas anderes passiert, fragt dein Browser: „Welche IP gehört zu diesem Namen?" Das ist die DNS-Lookup. Sie passiert in einer streng hierarchischen Reihenfolge:

RESOLVER (z.B. 8.8.8.8) ROOT (.) 13 globale Server TLD (.ch) Switch.ch Authoritative lunolabs.ch → 185.21.7.32 → Antwort: 185.21.7.32 CLIENT dein Browser

Die 4 Stufen

  1. Resolver (z.B. 8.8.8.8 von Google oder 1.1.1.1 von Cloudflare): dein erster Ansprechpartner.
  2. Root-Server: „Für .ch frag bei Switch."
  3. TLD-Server (Top Level Domain, hier .ch): „Für lunolabs.ch frag bei dieser Authority."
  4. Authoritative Server: „lunolabs.ch = 185.21.7.32."
Caching FTW: Diese 4-Stufen-Reise machst du nicht jedes Mal. Resolver, Router und sogar dein Browser cachen Antworten (typisch ein paar Minuten bis Stunden, gesteuert durch das TTL-Feld). Deshalb fühlt sich DNS so schnell an.

DNS-Record-Typen

TypBedeutung
AName → IPv4-Adresse
AAAAName → IPv6-Adresse
CNAMEName → anderer Name (Alias)
MXMail-Server für die Domain
TXTFrei-Text, z.B. für SPF/DKIM (Mail) oder Verifizierungen
NSWelche DNS-Server sind für diese Zone zuständig

02HTTP – die Sprache des Web

Eine Konversation aus Anfrage und Antwort. Stateless, einfach, überall.

Jede HTTP-Anfrage hat eine Methode – sie sagt dem Server, was du willst:

MethodeWas sie machtBeispiel
GETHol mir DatenWebseite anzeigen, API lesen
POSTErstelle was NeuesFormular abschicken, Bild hochladen
PUTErsetze komplettProfil-Update mit allen Feldern
PATCHÄndere nur TeileNur den Nicknamen ändern
DELETELöscheEintrag entfernen

Anatomie einer HTTP-Anfrage

HTTP GET /produkte/3d-drucker HTTP/1.1 Host: lunolabs.ch User-Agent: Mozilla/5.0 (Windows NT 10.0) Accept: text/html,application/xhtml+xml Accept-Language: de-CH,en;q=0.7 Cookie: session=abc123 # Leere Zeile = Ende Header, dann Body (bei POST/PUT)

Und eine typische Antwort

HTTP HTTP/1.1 200 OK Content-Type: text/html; charset=UTF-8 Content-Length: 12453 Set-Cookie: session=xyz789; HttpOnly; Secure Cache-Control: max-age=3600 <!DOCTYPE html> <html>...</html>

03Status Codes – die 3-stellige Sprache

200, 404, 500 – jede Zahl sagt eine Geschichte.

😈
Fun-Status: 418 I'm a teapot ist ein echter Status-Code – als Aprilscherz erfunden, von einigen Servern bis heute zurückgegeben, wenn jemand versucht, Kaffee zu brühen auf einem Teekocher. Internet-Humor at its best.

04HTTPS = HTTP + Verschlüsselung

Das 🔒-Symbol oben in deiner URL: TLS macht die Magie.

HTTP allein ist Klartext. Jeder im Netzwerk kann mitlesen, was du tust. HTTPS packt HTTP in eine verschlüsselte Hülle (TLS – Transport Layer Security). Drei Dinge garantiert TLS:

Der TLS-Handshake (vereinfacht)

ClientHello

Browser: „Hi, ich kann diese Verschlüsselungsverfahren: AES-256, ChaCha20… welches willst du?"

ServerHello + Zertifikat

Server: „Nehmen wir AES-256. Hier mein Zertifikat, signiert von Let's Encrypt – damit beweise ich, dass ich wirklich lunolabs.ch bin."

Schlüsselaustausch

Beide einigen sich auf einen Session-Key – ein gemeinsames Geheimnis, das nur sie zwei kennen (Diffie-Hellman-Verfahren).

Finished

Beide schicken einen ersten verschlüsselten Test-Frame. Klappt's, ist der Tunnel offen. Ab jetzt verschlüsselt.

🔐
Trust Chain: Dein Browser hat ein Set von „Trust Roots" eingebaut (Let's Encrypt, DigiCert, etc.). Wenn das Server-Zertifikat von einer dieser Stellen signiert ist, vertraust du dem Server. Sonst → 🚫 „Diese Verbindung ist nicht sicher".

05Cookies, Sessions & nette Header

HTTP ist „stateless" – jede Anfrage ist isoliert. Cookies geben ihr ein Gedächtnis.

Wenn du dich auf einer Seite einloggst und auf einen Link klickst, woher weiss der Server, dass du immer noch eingeloggt bist? Cookies.

  1. Du loggst dich ein → Server schickt Set-Cookie: session=abc123.
  2. Bei jeder weiteren Anfrage schickt dein Browser automatisch Cookie: session=abc123 mit.
  3. Der Server schaut in seine Datenbank: „abc123 = Joel, eingeloggt seit 14:32". Bestätigt.

Wichtige Cookie-Flags

FlagWas es macht
HttpOnlyJavaScript kann nicht ans Cookie ran (Schutz gegen XSS)
SecureWird nur über HTTPS gesendet
SameSite=LaxWird bei Cross-Site-Requests nicht mitgeschickt (Schutz gegen CSRF)
Max-Age=3600Cookie lebt 1 Stunde, dann weg

Nützliche Header zum Kennen

06HTTP/1.1 → HTTP/2 → HTTP/3 – die Evolution

HTTP wurde dreimal modernisiert. Hier was sich geändert hat.

VersionJahrSchlüssel-Feature
HTTP/1.019961 Request pro TCP-Verbindung. Sehr ineffizient.
HTTP/1.11997Persistent Connections (mehrere Requests pro Verbindung), Chunked Encoding
HTTP/22015Multiplexing (mehrere Requests parallel über 1 Verbindung), Header-Kompression, Server Push
HTTP/32022Statt TCP → QUIC (UDP-basiert). Schneller bei Verbindungsabbrüchen, ideal für mobile.
🚀
HTTP/3 ist krass: Wenn du im Tunnel das Netz wechselst (LTE → WLAN), bricht eine TCP-Verbindung ab. HTTP/3 über QUIC übersteht das, weil es Sessions an einer ID festmacht – nicht an IP+Port. Deshalb sind moderne Apps so „sticky" gegen Wackel-Verbindungen.

🎯Key Takeaways