Weblifting.at

Weblifting Blog

Was ist eigentlich ein Webbrowser?

03/07/2012 by Martin Mayr
Die inzwischen am häufigsten verwendete Anwendung auf Desktop-Computern ist der Webbrowser. Wir verwenden ihn täglich, aber was genau ist ein Browser eigentlich?

Ein Computer ohne Browser und ohne Internetzugang ist heute undenkbar. „Browsen“ bedeutet abgrasen oder durchstöbern – also einerseits genau das, was wir alle im Internet tun, andererseits auch aus technischer Sicht eine sehr passende Analogie. Der Browser wird mit einem so genanntem „Universal Resource Identifyer“ (URI) angewiesen, einen bestimmten Inhalt aus dem Internet zu laden. Oft sind darin weitere URIs enthalten, die der Browser für eine korrekte Darstellung des Inhaltes “abgrasen” muss (zB Bilder oder Videos). Die verbreitetsten Browser sind „Mozilla Firefox“, „Microsoft Internet Explorer“, „Google Chrome“, „Apple Safari“  und „Opera“. Ein moderner Browser besteht im wesentlichen aus drei Teilen: Einer Benutzerschnittstelle, die zumindest die Eingabe einer URI erlaubt sowie einer Layout- oder Rendereing-Engine und einer JavaScript-Engine.

Engines

Die Layout-Engine sorgt dafür, dass die üblicherweise in der AuszeichnungsspracheHTML“ ausgelieferten Websites grafisch dargestellt werden. Dabei werden die in sogenannten „Cascading Style Sheets“ (CSS) festgelegten Gestaltungsvorlagen berücksichtigt. Eines der bekanntesten Beispiele ist die Engine „WebKit“, die aufgrund ihrer freien Lizenz und hohen Geschwindigkeit, weite Verbreitung erlangte. Andere sind zB „Gecko“ (Mozilla), „Trident“ (Microsoft), „Presto“ (Opera).

Die JavaScript Engine führt den, in Websites eingebetteten JavaScript Code aus, um so dynamische Inhalte wie Diashows, aufklappende Menüs oder eine Datenübertragung ohne neuladen der Website zu ermöglichen. Wurde JavaScript anfänglich lediglich interpretiert, so wird seit wenigen Jahren der JavaScript-Code vor der Ausführung kompiliert, sodass die Anweisungen direkt am Prozessor ausgeführt werden können. Dabei werden die heute verbreiteten Mehrkernprozessoren oder sogar Grafikchips genutzt, was die Performance von JavaScript erheblich verbessert hat. Dies ermöglichte es erst, Webanwendungen so zu entwickeln, wie wir sie heute kennen. Beispiele für JavaScript Engines sind „SpiderMonkey“/“JägerMonkey“ (Mozilla), „Chakra“ (Microsoft), „JavaScriptCore“/“SquirrelFish“/“Nitro“ (WebKit), „V8“ (Google) oder „Carakan“ (Opera)

Erweiterungen

Alle modernen Desktop-Browser und manche mobilen Browser erlauben das Installieren von Erweiterungen. Diese fügen neue Funktionalität hinzu und erlauben so eine Individualisierung der Funktionsweise. Diese Erweiterungen müssen aber für jeden Browser neu entwickelt werden und oft auch auf neue Versionen angepasst werden. Trotzdem gibt es inzwischen für alle Browser umfangreiche Erweiterungsbibliotheken. Die Palette reicht dabei von Werbeblockern („AdBlock“), JavaScriptblockern („NoScript“), über verschiedene Spiele („AirMech“) bis hin zur Integration verschiedenster Webservices („Save for Later“) oder Entwicklertools („Web Developer“).

Zusammenfassung

All diese verschiedenen Varianten und Kombinationsmöglichkeiten von Engines und Erweiterungen führen dazu, dass ein und dieselbe Website in verschiedenen Browsern unterschiedlich dargestellt werden kann, auch wenn die Interpretation des HTML- CSS- und JavaScript Codes immer einheitlicher wird. Der Vorteil dieser modularen Vielfalt ist allerdings, dass neue Funktionen, wie sie zB in HTML5 vorgeschlagen werden, relativ rasch verbreitet werden können. Wir testen die von uns erstellten Websites mit allen gängigen Browsern in der neuesten Version und erstellen auf Kundenwunsch auch Anpassungen an ältere Versionen.

Zurück