Un navigateur web, navigateur Web[1],[2] ou fureteur[2], est un logiciel conçu pour consulter et afficher le World Wide Web. Techniquement, c'est au minimum un client HTTP.
Les navigateurs web sont des logiciels complexes et en constante évolution, tant au niveau des fonctionnalités, qu'au niveau de la sécurité, car des nouvelles fonctionnalités offrent de nouveaux angles d'attaque.
Le premier navigateur s'appelle WorldWideWeb. Il est développé par l'inventeur du langage HTML, Tim Berners-Lee, en octobre-novembre 1990. C'est un navigateur en mode graphique. Ce premier navigateur était en plus un éditeur HTML, ce qui n'est pas commun. La rapidité de développement a été rendue possible par l'ordinateur choisi pour ce projet, un NeXT. Toutefois, le choix de cet ordinateur rare a sévèrement limité la diffusion du navigateur. Plus tard, le navigateur est renommé Nexus pour éviter la confusion avec le World Wide Web.
Le premier navigateur pour le système X Window sur Unix fut Erwise, créé en 1992 en Finlande par les étudiants Kim Nyberg, Kari Sydänmaanlakka, Teemu Rantanen, et Kati Borgers (née Suominen)[5].
En 1993, apparaît NCSA Mosaic. Ce navigateur disponible sur de nombreux systèmes provoqua l'accélération fulgurante et exponentielle du Web. Il est le premier navigateur à afficher les images (GIF et XBM) dans les pages web elles-mêmes, puis à supporter les formulaires interactifs dans les pages.
À compter de 2005, on note une régression de la part de marché d'Internet Explorer, surtout au bénéfice de Mozilla Firefox.
En décembre 2008 sort le navigateur Google Chrome, édité par Google. En 2010, il fait partie des trois navigateurs les plus utilisés[6] et en 2012, il devient le navigateur le plus utilisé[7].
De nombreux autres navigateurs se partagent les miettes, notamment :
Devant le développement croissant des smartphones et tablettes numériques, plusieurs concepteurs de navigateurs sortent des versions mobiles ; Le navigateur Firefox Mobile (nom de code Fennec) est la version mobile de Firefox, Opera Mobile pour Opera, Internet Explorer Mobile la version mobile d'IE, etc. Des éditeurs proposent des navigateurs uniquement pour mobiles : UC Browser, Dolphin Browser, etc.
De plus, depuis le milieu des années 1990, apparaissent une multitude d'autres navigateurs plus ou moins populaires.
Un navigateur web est composé de divers modules logiciels permettant de communiquer suivant des standards des réseaux, d'un moteur de rendu des standards du Web, d'une interface utilisateur adaptée au système d'exploitation qui l'accueille et accessoirement d'un gestionnaire d'extensions et de plugins.
Pour la grande majorité des navigateurs sur le marché, l'interface utilisateur est composée d'une zone d'affichage éventuellement gérée sous forme d'onglets, d'une barre de menus déroulants, d'une barre d'outils, d'une barre d'état et surtout d'une barre d'adresse, parfois fusionnée, comme dans le cas de Chrome et de Chromium avec la barre de recherche. Selon les navigateurs, il est possible de réorganiser et d'afficher ou non ces différentes barres.
La barre de menus abrite les favoris (ou marque-pages), les commandes des fichiers (ouverture, fermeture), les options de configuration, etc.
De nouveaux navigateurs web basent leur technologie sur la blockchain[8],[9],[10]. D'après IBM, de tels navigateurs visent à offrir un système de stockage des informations de navigation qui préserve la vie privée et la place entre les « mains d'un utilisateur » plutôt que d'une tierce partie[8].
La fonction principale d'un navigateur web est de permettre la consultation d'informations disponibles (« ressource » dans la terminologie du Web) sur le World Wide Web. Les principales étapes de la consultation d'une ressource sont les suivantes :
L'utilisateur donne au navigateur web l'adresse web de la ressource à consulter. Il existe trois manières de donner une adresse web :
taper soi-même l'adresse web dans la barre d'adresse du navigateur ;
choisir une ressource dans la liste des favoris (ou marque-pages ou bookmarks), sachant qu'à chaque favori est associée une adresse web ;
suivre un hyperlien, sachant qu'à chaque hyperlien est associée une adresse web.
Le moteur de rendu du navigateur traite cette ressource, télécharge les éventuelles ressources associées et affiche le résultat sur l'écran de l'utilisateur.
Un navigateur web doit être capable, au minimum, d'afficher le texte d'une page web. Un navigateur en mode texte n'affiche souvent rien de plus. Les navigateurs couramment utilisés fonctionnent cependant en mode graphique et sont capables d'utiliser une typographie élaborée, d'ajouter des images dans le texte, de jouer de la musique et des animations ainsi que d'interagir avec les actions de l'utilisateur.
Une page web est un texte écrit dans le langage informatique HyperText Markup Language (HTML) qui donne au navigateur le texte à afficher ainsi que la structure générale de la mise en page : titres, paragraphes, listes, tableaux, etc. La mise en page peut être raffinée par l'utilisation de feuilles de style en cascade (CSS) : marges, alignements, espacements, couleurs, bordures, etc.
La position des images dans une page web est donnée par le langage HTML. Les images sont généralement dans un format de données parmi les trois suivants : GIF, JPEG ou PNG.
La plupart des navigateurs permettent d'imprimer les pages web en noir et blanc ou en couleurs. En outre, des dispositifs particuliers peuvent être utilisés pour pallier un handicap visuel ou moteur.
Dans le contexte du Web, un script est un programme informatique intégré à la page web et exécuté par le navigateur. Un script permet des tâches simples comme vérifier les données entrées dans un formulaire, gérer des menus ou réagir aux déplacements du pointeur de souris. Le principal langage de script côté client est le JavaScript. Ce langage est standardisé par l'ECMA sous le nom d'ECMAScript.
Les navigateurs pouvant difficilement gérer l'ensemble des formats de données existants et futurs, les éditeurs de navigateurs ont été amenés à développer un mécanisme de modules d'extension qui prennent le nom de plugins ou de contrôles ActiveX pour Internet Explorer.
Ceux-ci permettent d'afficher directement dans la fenêtre du navigateur des données de formats très différents allant de documents PDF à du contenu multimédia. Ce mécanisme permet également d'utiliser des langages de programmation côté client comme les animations Flash, les appletsJava ou la technologie Silverlight. La large diffusion d'un plugin étant nécessaire pour qu'un format de données ait une chance de s'imposer sur le Web, on en trouvera bien souvent en libre téléchargement sur les sites de sociétés éditrices de logiciels permettant de créer un type de contenu particulier.
Les extensions permettent d'ajouter de nouvelles fonctionnalités au navigateur, comme la météo dans la barre d'état, un blocage des publicités des sites Web et la préservation de la confidentialité des données personnelles issues de la navigation, des outils de développement Web, etc.
Le protocole HTTP n'est pas le seul qu'un navigateur web puisse utiliser. Il peut gérer aussi les transferts de fichiers à l'aide de FTP ou WebDAV et établir des connexions sécurisées en utilisant HTTPS (HTTP sur SSL). Certains navigateurs (comme Firefox) supportent le protocole Gopher qui précéda de peu HTTP et devenu confidentiel aujourd'hui. Ces protocoles de communication sont généralement standardisés par l'IETF.
L'utilisation d'un login sur un navigateur peut, dès la première fois, ouvrir la possibilité d’être suivi par des sociétés de collecte de données lors des utilisations ultérieures du navigateur[13].
Malgré l’utilisation d'un bloqueur de publicité, il peut être possible, pour une société tierce, d'accéder à des données privées[13].
Un navigateur est constitué de modules divers réalisant des fonctions bien déterminées et possédant chacun leurs vulnérabilités propre. Par exemple, un interpréteur d'URL est vulnérable aux attaques par hameçonnage, un interpréteur de code HTML ou XHTML (plus récent) peut faire une mauvaise interprétation des instructions de description et un interpréteur de langage de script (JavaScript, VBScript...) est vulnérable aux boucles sans fins ou à des exploitations de bugs. Un environnement d'exécution d'applications (Applet Java, ActiveX, plugins) ou une barre d'outils possèdent également des vulnérabilités[réf. souhaitée].
Pour des raisons techniques, il est temporairement impossible d'afficher le graphique qui aurait dû être présenté ici.
Note : ces statistiques ne sont que des estimations et comprennent une marge d'erreur difficile à estimer. Ces erreurs sont dues à plusieurs raisons : certains navigateurs se font passer pour d'autres afin de contourner certains sites web refusant l'accès aux navigateurs non testés et de plus en plus de navigateurs, directement ou par le biais des extensions, bloquent les appels aux services de statistiques dans le but de protéger la vie privée de l'utilisateur.
Il existe des versions différentes des navigateurs selon le type de machines : téléphone mobile, tablette ou ordinateur. Voici pour les navigateurs les plus populaires les noms de leur version plate-forme bureautique et mobile.
Brave (considéré comme le navigateur qui protège le plus la vie privée selon une étude de l'université de Trinity College[17])