Browser
Kurz: Ein Programm, das HTML/CSS/JS-Dokumente aus dem Web abruft und als sichtbare, interaktive Seite darstellt.
Genauer: Besteht im Kern aus einer Rendering-Engine (baut aus HTML/CSS das sichtbare Layout) und einer JavaScript-Engine (führt Skripte aus). Bekannte Vertreter: Google Chrome, Mozilla Firefox, Apple Safari, Microsoft Edge.
Im Detail
Der Ladevorgang einer Webseite läuft grob in Phasen ab: Der Browser löst die eingegebene URL per DNS in eine IP-Adresse auf, baut eine TCP-Verbindung auf (meist über HTTPS), lädt das HTML-Dokument, baut daraus den DOM-Baum, lädt referenzierte CSS- und JS-Dateien nach, berechnet das Layout und zeichnet schließlich Pixel auf den Bildschirm. Bei Änderungen (z. B. durch JavaScript) wiederholt sich dieser Layout-/Render-Zyklus für die betroffenen Teile der Seite.
Heute dominieren im Wesentlichen drei Rendering-Engines den Markt: Blink (Chrome, Edge, Opera, Brave — alle auf Basis von Chromium), Gecko (Firefox) und WebKit (Safari). Diese Konsolidierung ist umstritten: Einerseits vereinfacht sie Webentwicklung (weniger Engines, für die man testen muss), andererseits sorgt Chromiums Marktdominanz dafür, dass neue Web-Standards faktisch oft von Google vorangetrieben werden, bevor andere Engines nachziehen — ein Grund, warum unabhängige Engines wie Firefox’ Gecko für Wettbewerb im Web als wichtig gelten.
Browser-Geschichte in groben Zügen
Der erste grafische Browser (Mosaic, 1993) legte den Grundstein für das World Wide Web, wie man es heute kennt; sein Nachfolger Netscape Navigator dominierte die 1990er, bis Microsofts Internet Explorer (durch Bündelung mit Windows) den sogenannten “ersten Browserkrieg” für sich entschied. Firefox (aus dem Netscape-Erbe entstanden) brachte in den 2000ern wieder echten Wettbewerb, bevor Google Chrome ab 2008 dank hoher Geschwindigkeit und regelmäßiger Updates schnell zum Marktführer aufstieg — eine Position, die es bis heute mit deutlichem Abstand hält.
Rendering-Pipeline im Detail
Der im Kurztext skizzierte Ablauf lässt sich weiter aufschlüsseln: Aus dem HTML entsteht zunächst der DOM (Document Object Model), aus dem CSS parallel der CSSOM (CSS Object Model) — beide werden zum “Render Tree” kombiniert, der nur die tatsächlich sichtbaren Elemente enthält. Darauf folgt “Layout” (Berechnung der exakten Position und Größe jedes Elements) und schließlich “Paint” (tatsächliches Zeichnen der Pixel). Änderungen, die nur die Optik betreffen (z. B. eine Farbänderung per CSS), erfordern lediglich einen neuen Paint-Schritt; Änderungen an Größe oder Position lösen dagegen ein komplettes Layout-Reflow aus, was spürbar teurer ist — ein Grund, warum performanceorientierte Webentwickler CSS-Animationen bevorzugt über transform/opacity statt über width/top umsetzen.
JavaScript-Engines und Just-in-Time-Kompilierung
Jede Rendering-Engine bringt eine eigene JavaScript-Engine mit (V8 bei Blink/Chrome, SpiderMonkey bei Gecko/Firefox, JavaScriptCore bei WebKit/Safari). Diese kompilieren JavaScript nicht mehr rein interpretiert, sondern nutzen Just-in-Time-Kompilierung: Häufig ausgeführter Code wird zur Laufzeit erkannt und in optimierten Maschinencode übersetzt, während selten genutzter Code interpretiert bleibt — ein wesentlicher Grund, warum moderne JavaScript-Ausführung um Größenordnungen schneller ist als noch vor 15 Jahren.
Siehe auch: Browser-Tab, Browser-Verlauf, HTML, CSS