System Design · Modul 2: Technische Fundamente

Lektion 1 von 2Übung 15 Min.

Der Weg einer Anfrage: DNS, TCP, TLS, HTTP

Lernziele
  • den Weg einer Webanfrage von der Eingabe bis zur Antwort beschreiben
  • die Aufgaben von DNS, TCP, TLS, HTTP und CDN kennen
  • verstehen, warum Entfernung und Verbindungsaufbau die Latenz bestimmen
  • wichtige Stellschrauben wie Verbindungswiederverwendung, HTTP/2 und Caching einordnen

Jemand tippt eine Adresse in den Browser, drückt Enter, und nach einem Wimpernschlag erscheint die Seite. Zwischen diesen beiden Momenten passieren Dutzende Schritte: Namen werden aufgelöst, Verbindungen aufgebaut, Schlüssel ausgehandelt, Daten über mehrere Netze geschickt, auf einem Server verarbeitet und zurückgeliefert. Wer Systeme entwirft, muss diesen Weg nicht bis ins letzte Bit kennen, aber gut genug, um zu verstehen, wo Zeit vergeht, wo Fehler entstehen und wo sich Optimierungen lohnen. Diese Lektion führt Schritt für Schritt durch den Weg einer Anfrage.

1. Die Schichten

Die Kommunikation im Internet ist in Schichten organisiert. Jede Schicht löst eine Aufgabe und verlässt sich auf die darunterliegende. Für System Design sind vier Schichten und ein vorgelagerter Dienst entscheidend.

Abb. 1.1Die Schichten einer Webanfrage
Abb. 1.1: Die Schichten einer Webanfrage. Der Protokollstapel einer Webanfrage von oben nach unten: HTTP für Anfrage und Antwort, TLS für Verschlüsselung, TCP oder QUIC für eine zuverlässige Verbindung und IP für Adressierung und Weiterleitung. DNS läuft vorher und übersetzt den Namen in eine IP-Adresse.
Abb. 1.1DNS übersetzt den Namen in eine Adresse. Dann baut TCP (oder QUIC) eine Verbindung auf, TLS verschlüsselt sie, und HTTP transportiert die eigentliche Anfrage und Antwort.

2. Schritt für Schritt

DNS: Der Browser kennt nur den Namen, etwa lernplattform-beispiel.de. Das Domain Name System übersetzt ihn in eine IP-Adresse. Die Antwort wird auf mehreren Ebenen zwischengespeichert – im Browser, im Betriebssystem, beim Internetanbieter –, deshalb ist die Auflösung meist schnell. Wie lange eine Antwort gespeichert werden darf, legt der Betreiber mit der Time to Live fest. Eine kurze TTL erlaubt schnelle Umzüge, eine lange entlastet die Namensserver.

TCP: Für eine zuverlässige Verbindung tauschen Browser und Server zunächst drei Nachrichten aus, den sogenannten Handshake. Das kostet eine volle Hin-und-Rück-Zeit, die Round Trip Time. TCP sorgt dafür, dass Daten vollständig und in der richtigen Reihenfolge ankommen, und wiederholt verlorene Pakete. TLS: Darauf folgt die Aushandlung der Verschlüsselung. Der Server weist sich mit einem Zertifikat aus, beide Seiten einigen sich auf Schlüssel. Mit TLS 1.3 kostet das eine weitere Round Trip Time, mit dem älteren TLS 1.2 zwei. Das neuere Protokoll QUIC, die Grundlage von HTTP/3, fasst Verbindungsaufbau und Verschlüsselung zusammen und spart dadurch Zeit.

HTTP: Erst jetzt wird die eigentliche Anfrage gesendet: eine Methode wie GET oder POST, ein Pfad, Header mit Zusatzinformationen und gegebenenfalls ein Inhalt. Der Server verarbeitet die Anfrage – vielleicht mit Datenbankabfragen, Aufrufen anderer Dienste und Berechnungen – und schickt eine Antwort mit Statuscode, Headern und Inhalt zurück. Statuscodes zeigen das Ergebnis: 2xx für Erfolg, 3xx für Weiterleitungen, 4xx für Fehler der Anfrage und 5xx für Fehler des Servers.

Definition 1.1
Round Trip Time (RTT)
Die Zeit, die ein Datenpaket vom Client zum Server und zurück braucht. Sie hängt vor allem von der Entfernung ab, denn Signale in Glasfasern bewegen sich mit etwa zwei Dritteln der Lichtgeschwindigkeit. Zwischen München und Frankfurt liegt die RTT bei wenigen Millisekunden, zwischen Europa und der US-Ostküste bei rund 80 bis 100 Millisekunden.
Klick-GrafikWas beim Aufruf einer Adresse passiert
BrowserDNSTCPTLSServer (HTTP)
Schritt 1/4 · Name auflösen: Der Browser fragt DNS: Welche IP-Adresse gehört zu klarwerk-digital.com? Oft kommt die Antwort aus einem Zwischenspeicher.

3. Wo die Zeit vergeht

Probieren Sie in der Zeitleiste aus, wie sich einzelne Faktoren auswirken. Ausgangspunkt ist ein Nutzer in München, dessen Anfrage an einen Server in New York geht.

ZeitleisteWie lange dauert eine Anfrage – und warum?
DNS
TCP
TLS
Anfrage/Antwort
Server
DNS 40 msTCP 90 msTLS 90 msAnfrage/Antwort 90 msServer 35 ms

345 ms

Nutzer in München, Server in New York (≈ 90 ms Hin und Rück) – oder ein CDN-Knoten in Frankfurt (≈ 12 ms). Schematische Werte.

Sie sehen sofort, dass die Entfernung der wichtigste Faktor ist. Jede Runde des Verbindungsaufbaus kostet eine volle RTT, und bei 90 Millisekunden summiert sich das schnell auf über 300 Millisekunden, bevor der Server überhaupt mit der Arbeit beginnt. Ein CDN-Knoten in der Nähe verkürzt jede Runde drastisch. Die Wiederverwendung bestehender Verbindungen spart den gesamten Aufbau – deshalb halten Browser Verbindungen offen, und deshalb sollten auch Server untereinander Verbindungspools verwenden, statt für jede Anfrage eine neue Verbindung zu öffnen.

Die Latenz einer Webanfrage wird oft weniger vom eigenen Code bestimmt als von Entfernung und Verbindungsaufbau. Nähe (CDN, Region), Wiederverwendung von Verbindungen und weniger Hin und Her zwischen Client und Server bringen meist mehr als jede Codeoptimierung.

4. HTTP/1.1, HTTP/2, HTTP/3

Tab. 1.1HTTP-Versionen im Vergleich
VersionBesonderheitBedeutung für den Entwurf
HTTP/1.1eine Anfrage nach der anderen pro VerbindungBrowser öffnen mehrere Verbindungen parallel
HTTP/2viele Anfragen gleichzeitig über eine Verbindung (Multiplexing)viele kleine Dateien sind weniger problematisch
HTTP/3 (QUIC)basiert auf UDP, schnellerer Aufbau, robuster bei PaketverlustVorteile vor allem in Mobilnetzen

In der Praxis übernimmt meist der Webserver, der Load Balancer oder das CDN die Wahl der Version. Für den Entwurf ist wichtig zu wissen, dass moderne Versionen viele parallele Anfragen effizient abwickeln und in instabilen Mobilnetzen Vorteile bringen. Zwischen eigenen Diensten im Rechenzentrum spielt die Version eine geringere Rolle; hier zählen stabile, wiederverwendete Verbindungen.

5. Die Rolle des CDN und der Edge

Definition 1.2
Content Delivery Network (CDN)
Ein Netz aus weltweit verteilten Servern, die Inhalte in der Nähe der Nutzer zwischenspeichern und ausliefern. Neben statischen Dateien wie Bildern, Skripten und Videos übernehmen CDNs zunehmend auch Aufgaben wie TLS-Terminierung, Schutz vor Angriffen und die Ausführung kleiner Programme am Rand des Netzes (Edge Computing).

Für fast jede Webanwendung lohnt sich ein CDN für statische Inhalte: Es verkürzt die Ladezeit, entlastet den eigenen Server und fängt Lastspitzen ab. Entscheidend ist eine durchdachte Cache-Steuerung über HTTP-Header wie Cache-Control. Dateien mit einem Inhalts-Hash im Namen, wie sie moderne Frameworks erzeugen, dürfen praktisch unbegrenzt zwischengespeichert werden, weil sich bei jeder Änderung der Name ändert. HTML-Seiten und API-Antworten brauchen dagegen kurze oder gar keine Zwischenspeicherung, je nachdem, wie aktuell sie sein müssen und ob sie personalisiert sind. Personalisierte Antworten dürfen nie in einem gemeinsamen Cache landen – ein klassischer Fehler, der dazu führen kann, dass Nutzer fremde Daten sehen.

6. Was das für den Entwurf bedeutet

Aus dem Weg einer Anfrage folgen einige Grundregeln. Erstens: Weniger Hin und Her. Jede zusätzliche Anfrage vom Client kostet mindestens eine RTT. Eine Seite, die nach dem Laden noch zehn Anfragen nacheinander stellt, wirkt auf dem Handy träge, egal wie schnell der Server ist. Besser sind Schnittstellen, die in einer Anfrage liefern, was eine Ansicht braucht. Zweitens: Nähe. Server und Datenbank sollten in der Region stehen, in der die meisten Nutzer sind, und statische Inhalte gehören ins CDN. Drittens: Wiederverwendung. Verbindungen zu Datenbank, Cache und externen Diensten sollten in Pools gehalten werden. Viertens: Zeitlimits. Jeder Schritt kann hängen, besonders Aufrufe externer Dienste. Ohne Zeitlimit wartet eine Anfrage im schlimmsten Fall ewig und blockiert Ressourcen – mehr dazu im Modul Skalierung.

Für die eigene Fehlersuche sind die Entwicklerwerkzeuge des Browsers eine Fundgrube. Der Netzwerk-Reiter zeigt für jede Anfrage, wie lange DNS, Verbindungsaufbau, TLS, Warten auf den Server und Übertragung gedauert haben. Wer diese Aufschlüsselung einmal für die eigene Anwendung betrachtet, erkennt schnell, ob Zeit im Netzwerk oder auf dem Server verloren geht – und damit, wo sich Optimierung lohnt. Kommandozeilenwerkzeuge wie curl mit Zeitmessung liefern dieselben Informationen für Schnittstellen und Dienste.

Ein letzter Hinweis gilt der Sicherheit. Jeder Schritt auf dem Weg einer Anfrage ist auch ein möglicher Angriffspunkt: gefälschte DNS-Antworten, abgefangene Verbindungen ohne Verschlüsselung, überlastete Server durch massenhafte Anfragen. Durchgehende Verschlüsselung mit TLS, ein vorgeschaltetes CDN oder eine Web Application Firewall und Begrenzungen der Anfragerate gehören deshalb zu jedem produktiven System. Das Modul Schnittstellen und Sicherheit vertieft diese Themen.

Quellen und weiterführende Literatur
  1. [1]Grigorik, I. (2013): High Performance Browser Networking. Sebastopol: O'Reilly (online frei verfügbar).
  2. [2]IETF RFC 9110 (2022): HTTP Semantics; RFC 9113: HTTP/2; RFC 9114: HTTP/3.
  3. [3]IETF RFC 8446 (2018): The Transport Layer Security (TLS) Protocol Version 1.3.
  4. [4]IETF RFC 9000 (2021): QUIC: A UDP-Based Multiplexed and Secure Transport.
  5. [5]Kurose, J. F.; Ross, K. W. (2021): Computer Networking: A Top-Down Approach. 8. Aufl. Hoboken: Pearson.

Stand: September 2026. Kursmaterial der Klarwerk Akademie. Zahlen zu Latenzen und Kosten sind Größenordnungen zur Orientierung, keine Messwerte.

Abschlussquiz

Drei Fragen – dann ist die Lektion geschafft.

Frage 1 von 3

Was macht DNS?