Was ist das Internet?
Das Internet ist ein Netzwerk von Netzwerken. Es handelt sich nicht um eine einzelne Maschine oder ein Unternehmen, sondern um Millionen unabhängiger Netzwerke, die vereinbart haben, dieselben Protokolle zu verwenden, um Daten untereinander austauschen zu können. Diese Vereinbarung ermöglicht es einem Laptop in einem Land, in Bruchteilen einer Sekunde mit einem Server in einem anderen Land zu kommunizieren.
Das World Wide Web ist nur einer von vielen Diensten, die auf diesem Netzwerk laufen und HTTP, URLs sowie Browser nutzen. Das Internet transportiert jedoch viel mehr: E-Mails, Videoanrufe, Dateiübertragungen und zahllose andere Anwendungen. Wer das zugrunde liegende Netzwerk versteht, begreift auch, warum sich das Web so verhält, wie es es tut.
Clients und Server
Fast alles im Web folgt einem Client-Server-Modell. Ein Client sendet eine Anfrage (Request); ein Server sendet eine Antwort (Response).
- Der Client ist in der Regel ein Browser, kann aber auch eine mobile App, ein Skript oder ein anderer Server sein.
- Der Server ist ein Computer, der auf Anfragen wartet und Ressourcen wie HTML, JSON, Bilder oder Dateien zurückgibt.
Dieser Request/Response-Zyklus ist der Herzschlag des Webs. Jedes Laden einer Seite, jeder API-Aufruf und jeder Bild-Download besteht aus einem oder mehreren dieser Austauschvorgänge.
IP-Adressen und Pakete
Jedes Gerät im Netzwerk besitzt eine IP-Adresse, vergleichbar mit einer Postadresse für Daten. Wenn Sie etwas senden, wird es in Pakete aufgeteilt: kleine Dateneinheiten, die jeweils mit einer Quell- und einer Zieladresse versehen sind.
Pakete reisen unabhängig voneinander. Router leiten jedes Paket auf dem Weg in Richtung seines Ziels weiter, wobei sie unterschiedliche Pfade nehmen können. Die empfangende Maschine setzt sie anschließend wieder zur ursprünglichen Nachricht zusammen. Dieses Konzept, bekannt als Packet Switching, macht das Internet so resilient – wenn eine Route ausfällt, können die Pakete einen anderen Weg nehmen.
Die Transportschicht: TCP und UDP
IP bringt Pakete zu einer Maschine, garantiert jedoch nicht, dass diese in der richtigen Reihenfolge oder überhaupt ankommen. Das ist die Aufgabe der Transportschicht.
- TCP baut eine Verbindung auf und bietet einen zuverlässigen, geordneten Stream. Es sendet verlorene Pakete erneut und ist das Protokoll, das HTTP verwendet.
- UDP ist verbindungslos und garantiert keine Zustellung. Es ist schneller und wird für Live-Video, Games und DNS eingesetzt.
Auf Basis von TCP verschlüsselt TLS die Verbindung, sodass niemand dazwischen die Daten lesen oder verändern kann. HTTPS ist schlichtweg HTTP über TLS.
DNS: Namen in Adressen auflösen
Menschen merken sich Namen, keine Zahlen. DNS (das Domain Name System) ist quasi das Telefonbuch, das einen Namen wie example.com einer IP-Adresse zuordnet.
Wenn Sie eine Domain aufrufen, fragt Ihr Computer einen Resolver, welcher eine Hierarchie von Name Servern abfragt, bis der zuständige (authoritative) Server erreicht wird. Die Antwort wird für einen bestimmten Zeitraum zwischengespeichert (cached), sodass wiederholte Abfragen sofort erfolgen. Der DNS-Guide geht detailliert darauf ein.
HTTP: die Sprache des Webs
Sobald eine Verbindung besteht, kommunizieren Browser und Server über HTTP. Der Client sendet eine Anfrage mit einer Methode (wie GET oder POST), einem Pfad und Headern; der Server antwortet mit einem Statuscode, Headern und einem Body.
GET /index.html HTTP/2
Host: example.com
Accept: text/html
HTTP/2 200 OK
Content-Type: text/html
Content-Length: 1256
<!doctype html> ...
Der HTTP-Guide behandelt Methoden, Statuscodes, Header, Cookies und Caching.
Was passiert, wenn Sie eine Seite aufrufen
Zusammengefasst sieht das Laden einer Seite so aus:
- Auflösung der Domain via DNS, um eine IP-Adresse zu erhalten.
- Verbindung zu dieser Adresse über TCP.
- Handshake mit TLS, um einen verschlüsselten Kanal aufzubauen.
- Anforderung des HTML über HTTP.
- Parsing des HTML und Identifizierung von CSS, JavaScript, Bildern und Schriftarten.
- Anforderung jeder dieser Ressourcen, oft parallel, und Rendering der Seite.
Jede zusätzliche Ressource wiederholt einen Teil dieses Weges, weshalb weniger Anfragen und kleinere Assets die Seiten schneller machen. Der Browsers & Rendering Guide knüpft an Schritt 5 an.
Router, ISPs und das Backbone
Zwischen dir und einem Server liegen viele Netzwerke. Dein Traffic verlässt dein Netzwerk über deinen ISP, durchquert regionale sowie nationale Netzwerke und reist unter Umständen über Unterseekabel zwischen Kontinenten. Router an jedem Hop entscheiden anhand von Routing-Tabellen, wohin das nächste Paket gesendet werden soll.
Das passiert alles im Hintergrund, erklärt aber die Latenz: Je weiter die Daten reisen und je mehr Hops sie machen, desto länger dauert der Round Trip.
CDNs und Caching
Ein Content Delivery Network platziert Kopien deiner Inhalte auf Servern auf der ganzen Welt, sodass Nutzer aus einem Standort in ihrer Nähe bedient werden. Das reduziert die Latenz, entlastet deinen Origin-Server und verbessert die Zuverlässigkeit.
Caching funktioniert auf mehreren Ebenen: im Browser-Cache, im CDN und auf dem Origin-Server. Korrekte Cache-Header ermöglichen es, Inhalte wiederzuverwenden, anstatt sie erneut abzurufen – einer der größten Performance-Gewinne, die man erzielen kann.
Best Practices
- Serviere alles über HTTPS und leite HTTP auf HTTPS um.
- Nutze ein CDN für statische Assets und cachebare Inhalte.
- Setze sinnvolle Cache-Header, damit wiederholte Besuche schnell geladen werden.
- Halte die Anzahl der Requests gering und die Payloads klein.
- Bevorzuge HTTP/2 oder HTTP/3, da diese viele Requests über eine einzige Verbindung multiplexen.
- Überwache die Latenz und die Time to First Byte, nicht nur das Seitengewicht.
Häufige Fehler
- Verwechslung des Internets mit dem Web.
- Die Annahme, dass Daten immer denselben festen Pfad nehmen.
- Bereitstellung sensibler Inhalte über unverschlüsseltes HTTP.
- Ignorieren von Caching und das erneute Abrufen aller Daten bei jedem Besuch.
- DNS als sofort wirksam zu betrachten und TTLs während Migrationen zu ignorieren.
- Einen einzigen Server in einer Region zu betreiben und damit ein globales Publikum zu bedienen.
Wie geht es weiter?
Das Internet ist das Fundament für alles, was du baust. Vertiefe dein Wissen über das Protokoll im HTTP-Guide, lerne im DNS-Guide, wie Namen aufgelöst werden, und erfahre in Browsers & Rendering, was der Browser mit den Bytes macht. Öffne anschließend das Netzwerk-Panel deines Browsers und beobachte, wie das Laden einer echten Seite abläuft.