En webbläsare är ett program som används för att hitta, hämta och visa innehåll på World Wide Web, inklusive webbsidor, bilder, video och andra filer. Som en klient/server-modell är webbläsaren den klient som körs på en dator som kontaktar webbservern och begär information. Webbservern skickar tillbaka informationen till webbläsaren som visar resultatet på datorn eller annan Internet-aktiverad enhet som stöder en webbläsare.
Dagens webbläsare är fullt fungerande programvarusviter som kan tolka och visa HTML-webbsidor, program, JavaScript, AJAX och annat innehåll som finns på webbservrar.
Många webbläsare erbjuder insticksprogram som utökar programvarans kapacitet så att den kan visa multimedieinformation (inklusive ljud och video), eller så kan webbläsaren användas för att utföra uppgifter som videokonferenser, för att utforma webbsidor eller för att lägga till anti-phishing-filter och andra säkerhetsfunktioner i webbläsaren.
-
Användargränssnittet: Användargränssnittet är det utrymme där användaren interagerar med webbläsaren. Det omfattar adressfältet, knapparna tillbaka och nästa, hemknappen, uppdatering och stopp, alternativ för bokmärken osv. Alla andra delar, utom fönstret där den begärda webbsidan visas, ingår i det.
-
Browsermotorn: Browsermotorn fungerar som en brygga mellan användargränssnittet och renderingsmotorn. Enligt inmatningar från olika användargränssnitt frågar den ut och manipulerar renderingsmotorn.
-
Renderingmotorn: Renderingmotorn är, som namnet antyder, ansvarig för att den begärda webbsidan visas på skärmen i webbläsaren. Renderingmotorn tolkar HTML-, XML-dokument och bilder som formaterats med hjälp av CSS och genererar den layout som visas i användargränssnittet. Med hjälp av plugins eller tillägg kan dock även andra typer av data visas.
Olika webbläsare använder olika renderingsmotorer:
- Internet Explorer: Trident
- Firefox & andra Mozilla-webbläsare: Gecko
- Chrome & Opera 15+: Blink
- Chrome (iPhone) & Safari: Webkit
-
Nätverk: Komponent i webbläsaren som hämtar webbadresser med hjälp av de vanliga internetprotokollen HTTP eller FTP. Nätverkskomponenten hanterar alla aspekter av internetkommunikation och säkerhet. Nätverkskomponenten kan implementera en cache för hämtade dokument för att minska nätverkstrafiken.
-
JavaScript-tolk: Det är den komponent i webbläsaren som tolkar och utför javascriptkoden som är inbäddad på en webbplats. De tolkade resultaten skickas till renderingsmotorn för visning. Om skriptet är externt hämtas resursen först från nätverket. Parser håller sig i vänteläge tills skriptet är utfört.
-
UI Backend: UI backend används för att rita grundläggande widgets som kombinationsrutor och fönster. Denna backend exponerar ett generiskt gränssnitt som inte är plattformsspecifikt. Den använder metoder för operativsystemets användargränssnitt.
-
Data Persistence/Storage: Detta är ett lager för persistens. Webbläsare stöder lagringsmekanismer som localStorage, IndexedDB, WebSQL och FileSystem. Det är en liten databas som skapas på den lokala enheten på den dator där webbläsaren är installerad. Den hanterar användardata som cache, cookies, bokmärken och preferenser.
En viktig sak att notera här är att i webbläsare som Google Chrome körs varje flik i en separat process (flera instanser av renderingsmotorn).