Un navigateur est une application logicielle utilisée pour localiser, récupérer et afficher du contenu sur le World Wide Web, notamment des pages Web, des images, des vidéos et d’autres fichiers. En tant que modèle client/serveur, le navigateur est le client exécuté sur un ordinateur qui contacte le serveur Web et demande des informations. Le serveur Web renvoie l’information au navigateur Web qui affiche les résultats sur l’ordinateur ou tout autre appareil compatible avec Internet qui prend en charge un navigateur.
Les navigateurs d’aujourd’hui sont des suites logicielles entièrement fonctionnelles qui peuvent interpréter et afficher des pages Web HTML, des applications, du JavaScript, de l’AJAX et d’autres contenus hébergés sur des serveurs Web.
De nombreux navigateurs proposent des plug-ins qui étendent les capacités du logiciel afin qu’il puisse afficher des informations multimédias (y compris le son et la vidéo), ou le navigateur peut être utilisé pour effectuer des tâches telles que la vidéoconférence, pour concevoir des pages Web ou ajouter des filtres anti-hameçonnage et d’autres fonctions de sécurité au navigateur.
-
L’interface utilisateur : L’interface utilisateur est l’espace où l’utilisateur interagit avec le navigateur. Elle comprend la barre d’adresse, les boutons retour et suivant, le bouton d’accueil, l’actualisation et l’arrêt, l’option de signet, etc. Toute autre partie, à l’exception de la fenêtre où s’affiche la page web demandée, en relève.
-
Le moteur du navigateur : Le moteur du navigateur fonctionne comme un pont entre l’interface utilisateur et le moteur de rendu. Selon les entrées des différentes interfaces utilisateur, il interroge et manipule le moteur de rendu.
-
Le moteur de rendu : Le moteur de rendu, comme son nom l’indique est responsable du rendu de la page web demandée sur l’écran du navigateur. Le moteur de rendu interprète les documents HTML, XML et les images qui sont formatés à l’aide de CSS et génère la mise en page qui s’affiche dans l’interface utilisateur. Cependant, l’utilisation de plugins ou d’extensions permet d’afficher également d’autres types de données.
Différents navigateurs utilisent différents moteurs de rendu :
- Internet Explorer : Trident
- Firefox & autres navigateurs Mozilla : Gecko
- Chrome & Opera 15+ : Blink
- Chrome (iPhone) & Safari : Webkit
-
Réseau : Composant du navigateur qui récupère les URL à l’aide des protocoles Internet courants de HTTP ou FTP. Le composant réseau gère tous les aspects de la communication et de la sécurité sur Internet. Le composant réseau peut mettre en œuvre un cache des documents récupérés afin de réduire le trafic réseau.
-
Interprète JavaScript : C’est le composant du navigateur qui interprète et exécute le code javascript intégré dans un site web. Les résultats interprétés sont envoyés au moteur de rendu pour être affichés. Si le script est externe, la ressource est d’abord récupérée sur le réseau. Le parser reste en attente jusqu’à ce que le script soit exécuté.
-
UI Backend : Le backend UI est utilisé pour dessiner les widgets de base comme les boîtes combo et les fenêtres. Ce backend expose une interface générique qui n’est pas spécifique à une plateforme. Il utilise en dessous des méthodes d’interface utilisateur du système d’exploitation.
-
Persistance/Stockage des données : Il s’agit d’une couche de persistance. Les navigateurs prennent en charge des mécanismes de stockage tels que localStorage, IndexedDB, WebSQL et FileSystem. Il s’agit d’une petite base de données créée sur le disque local de l’ordinateur où le navigateur est installé. Elle gère les données de l’utilisateur telles que le cache, les cookies, les signets et les préférences.
Une chose importante à noter ici est que dans les navigateurs web tels que Google Chrome, chaque onglet s’exécute dans un processus séparé(plusieurs instances du moteur de rendu).