En browser er et softwareprogram, der bruges til at finde, hente og vise indhold på World Wide Web, herunder websider, billeder, video og andre filer. Som en klient/server-model er browseren den klient, der køres på en computer, som kontakter webserveren og anmoder om oplysninger. Webserveren sender oplysningerne tilbage til webbrowseren, som viser resultaterne på computeren eller en anden internetaktiveret enhed, der understøtter en browser.
Der findes i dag browsere, som er fuldt funktionsdygtige softwarepakker, der kan fortolke og vise HTML-websider, programmer, JavaScript, AJAX og andet indhold, der er hostet på webservere.
Mange browsere tilbyder plug-ins, der udvider softwarens muligheder, så den kan vise multimedieinformation (herunder lyd og video), eller browseren kan bruges til at udføre opgaver som f.eks. videokonferencer, til at designe websider eller tilføje antiphishingfiltre og andre sikkerhedsfunktioner til browseren.
-
Brugergrænsefladen: Brugergrænsefladen er det rum, hvor brugeren interagerer med browseren. Det omfatter adresselinjen, tilbage- og næste knapper, hjemknappen, opdatering og stop, mulighed for bogmærker osv. Alle andre dele, undtagen det vindue, hvor den ønskede webside vises, hører under den.
-
Browsermotoren: Browsermotoren fungerer som en bro mellem brugergrænsefladen og renderingsmotoren. I henhold til input fra forskellige brugergrænseflader forespørger og manipulerer den renderingsmotoren.
-
Rendering-motoren: Rendering-motoren er, som navnet antyder, ansvarlig for at rendere den ønskede webside på browserskærmen. Renderingmotoren fortolker HTML-, XML-dokumenter og billeder, der er formateret ved hjælp af CSS, og genererer det layout, der vises i brugergrænsefladen. Ved hjælp af plugins eller udvidelser kan der dog også vises andre typer data.
Forskellige browsere anvender forskellige renderingsmotorer:
- Internet Explorer: Trident
- Firefox & andre Mozilla-browsere: Gecko
- Chrome & Opera 15+: Blink
- Chrome (iPhone) & Safari: Webkit
-
Netværk: Komponent i browseren, som henter URL’er ved hjælp af de almindelige internetprotokoller HTTP eller FTP. Netværkskomponenten håndterer alle aspekter af internetkommunikation og sikkerhed. Netværkskomponenten kan implementere en cache af hentede dokumenter for at reducere netværkstrafikken.
-
JavaScript-fortolker: Det er den komponent i browseren, som fortolker og udfører den javascript-kode, der er indlejret i et websted. De fortolkede resultater sendes til renderingsmotoren til visning. Hvis scriptet er eksternt, hentes ressourcen først fra netværket. Parser holder sig i venteposition, indtil scriptet er udført.
-
UI Backend: UI backend bruges til at tegne grundlæggende widgets som f.eks. kombinationsbokse og vinduer. Denne backend udsætter en generisk grænseflade, der ikke er platformsspecifik. Den bruger nedenunder operativsystemets brugergrænseflademetoder.
-
Datapersistens/opbevaring: Dette er et persistenslag. Browsere understøtter lagringsmekanismer som localStorage, IndexedDB, WebSQL og FileSystem. Det er en lille database, der oprettes på det lokale drev på den computer, hvor browseren er installeret. Den administrerer brugerdata såsom cache, cookies, bogmærker og præferencer.
En vigtig ting at bemærke her er, at i webbrowsere som Google Chrome kører hver fane i en separat proces(flere instanser af rendering engine).