Ein Browser ist eine Softwareanwendung zum Auffinden, Abrufen und Anzeigen von Inhalten im World Wide Web, einschließlich Webseiten, Bildern, Videos und anderen Dateien. Als Client/Server-Modell ist der Browser der Client, der auf einem Computer läuft, der den Webserver kontaktiert und Informationen anfordert. Der Webserver sendet die Informationen zurück an den Webbrowser, der die Ergebnisse auf dem Computer oder einem anderen internetfähigen Gerät, das einen Browser unterstützt, anzeigt.
Heutige Browser sind voll funktionsfähige Software-Suiten, die HTML-Webseiten, Anwendungen, JavaScript, AJAX und andere auf Webservern gehostete Inhalte interpretieren und anzeigen können.
Viele Browser bieten Plug-ins, die die Fähigkeiten der Software erweitern, so dass sie Multimedia-Informationen (einschließlich Ton und Video) anzeigen können, oder der Browser kann verwendet werden, um Aufgaben wie Videokonferenzen durchzuführen, um Webseiten zu entwerfen oder Anti-Phishing-Filter und andere Sicherheitsfunktionen zum Browser hinzuzufügen.
-
Die Benutzeroberfläche: Die Benutzeroberfläche ist der Bereich, in dem der Benutzer mit dem Browser interagiert. Sie umfasst die Adressleiste, die Schaltflächen „Zurück“ und „Weiter“, die Schaltfläche „Home“, „Aktualisieren“ und „Stoppen“, die Lesezeichenoption usw. Alle anderen Bereiche, mit Ausnahme des Fensters, in dem die angeforderte Webseite angezeigt wird, fallen darunter.
-
Die Browser-Engine: Die Browser-Engine arbeitet als Brücke zwischen der Benutzeroberfläche und der Rendering-Engine. Entsprechend den Eingaben von verschiedenen Benutzeroberflächen fragt sie die Rendering-Engine ab und manipuliert sie.
-
Die Rendering-Engine: Die Rendering-Engine ist, wie der Name schon sagt, für die Darstellung der angeforderten Webseite auf dem Browser-Bildschirm verantwortlich. Die Rendering-Engine interpretiert die HTML-, XML-Dokumente und Bilder, die mit CSS formatiert sind, und erzeugt das Layout, das in der Benutzeroberfläche angezeigt wird. Mit Hilfe von Plugins oder Erweiterungen können jedoch auch andere Arten von Daten angezeigt werden.
Verschiedene Browser verwenden unterschiedliche Rendering-Engines:
- Internet Explorer: Trident
- Firefox & andere Mozilla-Browser: Gecko
- Chrome & Opera 15+: Blink
- Chrome (iPhone) & Safari: Webkit
-
Netzwerk: Komponente des Browsers, die die URLs über die gängigen Internetprotokolle HTTP oder FTP abruft. Die Netzwerkkomponente behandelt alle Aspekte der Internetkommunikation und -sicherheit. Die Netzwerkkomponente kann einen Cache für die abgerufenen Dokumente einrichten, um den Netzwerkverkehr zu reduzieren.
-
JavaScript-Interpreter: Hierbei handelt es sich um die Komponente des Browsers, die den in eine Website eingebetteten Javascript-Code interpretiert und ausführt. Die interpretierten Ergebnisse werden zur Anzeige an die Rendering Engine gesendet. Wenn es sich um ein externes Skript handelt, wird zunächst die Ressource aus dem Netz geholt. Der Parser bleibt in der Warteschleife, bis das Skript ausgeführt ist.
-
UI-Backend: Das UI-Backend wird zum Zeichnen einfacher Widgets wie Kombinationsfelder und Fenster verwendet. Dieses Backend stellt eine generische Schnittstelle zur Verfügung, die nicht plattformspezifisch ist. Es verwendet darunter die Methoden der Benutzeroberfläche des Betriebssystems.
-
Datenpersistenz/Speicherung: Dies ist eine Persistenzschicht. Browser unterstützen Speichermechanismen wie localStorage, IndexedDB, WebSQL und FileSystem. Es handelt sich um eine kleine Datenbank, die auf dem lokalen Laufwerk des Computers, auf dem der Browser installiert ist, angelegt wird. Sie verwaltet Benutzerdaten wie Cache, Cookies, Lesezeichen und Einstellungen.
Eine wichtige Sache, die hier zu beachten ist, ist, dass in Webbrowsern wie Google Chrome jeder Tab in einem separaten Prozess läuft (mehrere Instanzen der Rendering Engine).