Startseite / Artikel

Von der Adressleiste zu den Pixeln: Wie ein Browser eine Webseite lädt

Ein für Anfänger geeigneter Überblick über die DNS-Aufrufe, die HTTP-Anfrage und -Antwort sowie darüber, wie der Browser HTML, CSS und JavaScript in die Seite umwandelt, die man auf dem Bildschirm sieht.

Verlag: REACTAPP.TOP5 Min. Lesezeit1264 Wörter

Quellen: The Invisible Journey: What Really Happens When You Open a Website?

Das Eingeben von example.com und das Drücken der Enter-Taste scheint sofortig zu geschehen, doch es finden mehrere unterschiedliche Schritte statt, bevor etwas auf dem Bildschirm erscheint. Wenn man mit der Webentwicklung beginnt, können Begriffe wie DNS, Server, HTML, CSS und JavaScript wie separate Themen wirken. Dieser Artikel verbindet sie zu einer einzigen Abfolge, sodass man ein mentales Modell hat, an das später weitere Themen angehängt werden können – von APIs bis hin zur Renderleistung.

Der Prozess besteht aus vier Phasen: Die Suche nach der Website, die Anfrage um Inhalte, die Empfangnahme dieser Inhalte und ihre Umwandlung in eine sichtbare Seite.

Phase 1: Finden, wo die Website liegt

Menschen identifizieren Websites anhand ihres Namens. Solche Namen sind leicht zu merken:

example.com
google.com
youtube.com

Computer in einem Netzwerk adressieren sich jedoch gegenseitig über IP-Adressen, numerische Identifikatoren wie 203.0.113.10 für IPv4 oder längere hexadezimale Formen für IPv6. Bevor der Browser eine Website kontaktieren kann, muss er den Namen in eine Adresse umwandeln. Das ist die Aufgabe von DNS, dem Domain Name System.

Eine gute Vorstellung von DNS ist die Kontaktliste im Handy. Dort speichern und suchen Sie nach Personen nach Namen, und das Telefon sucht für Sie die Nummer heraus. Man muss sich die Ziffern nie merken. DNS macht dasselbe für das Internet: Man gibt einen Domainnamen ein, und DNS liefert die Adresse des Rechners, der ihn hostet.

In der Praxis erfolgt die Abfrage schichtweise und wird stark gecacht. Der Browser prüft zunächst seinen eigenen Cache, anschließend den des Betriebssystems, und fragt erst danach einen DNS-Resolver auf, der in der Regel vom Internetanbieter oder einem öffentlichen DNS-Dienst betrieben wird. Wenn der Resolver die Antwort noch nicht kennt, durchsucht er die DNS-Hierarchie, bis er die für diese Domain zuständigen Server findet. Dank des Cachens wird eine kürzlich besuchte Website in der Regel fast sofort auflösen.

Schritt 2: Senden der Anfrage

Mit einer IP-Adresse kann der Browser den Server der Website kontaktieren: einen Computer, dessen Aufgabe es ist, die Dateien und Daten zu speichern, zu erzeugen und bereitzustellen, die eine Website benötigt.

Vor dem Transfer jeglicher Webinhalte öffnet der Browser eine Verbindung zu diesem Server. Bei einer modernen https://-Seite beinhaltet dies außerdem einen TLS-Handshake, bei dem sich beide Seiten auf Verschlüsselungsschlüssel einigen und der Browser das Zertifikat des Servers überprüft, um sicherzustellen, dass er mit der echten Seite kommuniziert. Erst danach sendet der Browser eine HTTP-Anfrage.

Auf dem Weg durchquert die Anfrage zahlreiche Netzwerke und Geräte, wie Ihren Router, die Ausrüstung Ihres Anbieters sowie verschiedene Zwischenroutern, bevor sie den Server erreicht. Im Grunde besagt die Anfrage: „Bitte senden Sie mir das, was ich benötige, um diese Seite anzuzeigen.“ Zudem enthält sie Informationen wie den genauen angeforderten Pfad, die vom Browser unterstützten Formate sowie eventuelle Cookies für diese Seite.

Schritt 3: Empfang der Antwort

Der Server verarbeitet die Anfrage und antwortet mit einer HTTP-Antwort. Die erste Antwort ist in der Regel ein HTML-Dokument, und dieses Dokument verweist auf weitere Ressourcen, die der Browser anschließend ebenfalls anfordert, darunter:

  • HTML-Dokumente
  • CSS-Stylesheets
  • JavaScript-Dateien
  • Bilder
  • weitere Daten wie Schriftarten oder JSON aus einer API

Ein Restaurant macht den Austausch leichter zu verstehen:

  • Der Browser ist der Kunde.
  • Die Anfrage ist die Bestellung.
  • Der Server ist die Küche.
  • Die Antwort ist das Essen.

Man gibt eine Bestellung auf, die Küche liest sie, bereitet das Gericht zu und liefert es aus. Das Web funktioniert nach dem gleichen Prinzip: Der Browser stellt eine Anfrage, der Server erledigt die Arbeit und das Ergebnis wird zurückgesendet. Jede Antwort enthält außerdem einen Statuscode, wie zum Beispiel 200 für Erfolg oder 404, wenn die Seite nicht existiert – dieser gibt dem Browser an, wie er das Empfangene behandeln soll.

Phase 4: Dateien in eine Seite umwandeln

Nur die Dateien zu haben bedeutet noch nicht, dass eine Seite angezeigt wird. Der Browser muss sie weiterhin interpretieren und zu dem zusammenfügen, was der Nutzer sieht, wobei jede der drei grundlegenden Web-Sprachen eine eigene Rolle hat.

HTML liefert die Struktur

HTML beschreibt, was auf der Seite ist und wie sie organisiert ist: Überschriften, Absätze, Buttons, Bilder, Links und so weiter. Es ist das Skelett. Der Browser wandelt es in das DOM (Document Object Model) um, einen Baum aus Elementen, auf dem der weitere Ablauf beruht.

CSS steuert das Erscheinungsbild

CSS bestimmt, wie diese Struktur aussieht: Farben, Schriftarten, Abstände, Layout und Größen. Wenn HTML das Skelett ist, dann ist CSS alles, was ihm eine visuelle Form verleiht. Der Browser wandelt Stylesheets in ihre eigene Struktur um und ordnet jede Regel den zugehörigen Elementen zu.

JavaScript fügt Funktionalitäten hinzu

JavaScript macht die Seite interaktiv: Es reagiert auf Klicks von Buttons, läuft Animationen ab, lädt und aktualisiert Inhalte ohne vollständige Neu laden und noch viel mehr. Skripte können das DOM sowie Styles lesen und ändern, weshalb sich eine Seite nach ihrem ersten Auftauchen verändern kann.

Zusammenfassung

Durch die Kombination von Struktur und Styles berechnet der Browser, wo jedes Element platziert werden soll (Layout), und zeichnet anschließend das Ergebnis auf (Darstellung). Standardmäßig pausiert ein einfaches <script>-Tag die HTML-Parse, während der Script heruntergeladen und ausgeführt wird – das ist einer der Gründe, warum Leistungsberatungen oft die Attribute defer oder async empfehlen.

Der gesamte Ablauf in der Reihenfolge

Die einzelnen Schritte im Überblick:

  1. Man gibt eine Webseitenadresse ein.
  2. DNS wandelt den Namen in eine IP-Adresse um.
  3. Der Browser verbindet sich mit dem Server und sendet eine Anfrage.
  4. Der Server empfängt und verarbeitet die Anfrage.
  5. Der Server sendet eine Antwort zurück.
  6. Der Browser erhält das HTML und fordert die CSS-, JavaScript-, Bilder- sowie andere von ihm referenzierten Daten an.
  7. Der Browser parset und kombiniert diese Ressourcen.
  • Die fertige Seite erscheint auf Ihrem Bildschirm.
  • Bei einer schnellen Verbindung geschieht viel davon in einem Bruchteil einer Sekunde, weshalb es den Eindruck macht, als würde das Drücken von Enter einfach nur dazu führen, dass die Seite angezeigt wird.

    Warum dieses Modell sinnvoll ist

    Durch das Verständnis dieser Abfolge werden Konzepte, die normalerweise getrennt unterrichtet werden – Browser, DNS, Server, HTML, CSS und JavaScript – miteinander verbunden. Zudem bietet es einen Ort, an dem neue Kenntnisse verankert werden können. Wenn Sie später etwas über APIs lernen, erkennen Sie sie als weitere Form von Anfrage- und Antwortaustausch. Beim Studium der Backend-Arbeit wissen Sie, dass diese auf der Serverseite von Schritt 3 stattfindet. Bei der Betrachtung der Frontend-Leistung erkennen Sie, dass es hauptsächlich darum geht, die Schritte 3 und 4 schneller zu machen.

    Dies hilft auch beim Debuggen. Ein „Site nicht gefunden“-Fehler weist auf Phase 1 hin, ein Timeout oder Verbindungsfehler auf Phase 2, ein 500-Status auf den Server in Phase 3 und eine Seite, die lädt aber fehlerhaft aussieht, auf CSS oder JavaScript in Phase 4.

    Kernpunkte

    • DNS wandelt menschenfreundliche Namen in IP-Adressen um, wobei auf mehreren Ebenen Caching genutzt wird.
    • Der Browser öffnet eine über TLS für HTTPS gesicherte Verbindung und sendet eine HTTP-Anfrage.
    • Der Server antwortet mit HTML, das wiederum auf CSS, JavaScript, Bilder und andere Ressourcen verweist.
    • HTML bildet die Struktur des DOMs, CSS gestaltet das Erscheinungsbild und JavaScript fügt Verhaltensweisen hinzu, bevor der Browser die Seite darstellt und ausgibt.
    • Jede Phase versagt auf ihre eigene, erkennbare Weise, was dieses Modell sowohl zu einem praktischen Debugging-Tool als auch zu einem Lernhilfsmittel macht.