Hé, là ! Vous êtes-vous déjà demandé comment fonctionne exactement le Web et que se passe-t-il réellement lorsque vous entrez une URL dans votre mystérieux navigateur ? Ne vous inquiétez pas, vous n'êtes pas seul — la plupart d'entre nous traitent le Web comme une sorte de boîte noire. Mais puisque vous avez cliqué sur ce blog, j’imagine que vous voudrez peut-être y jeter un coup d’œil. C'est fantastique ! La curiosité a peut-être tué le chat, mais pour les développeurs, c'est la sauce secrète.
Même si vous en savez un peu plus sur son fonctionnement, vous pourriez encore vous demander pourquoi cela a évolué de cette façon. Je crois que « pour comprendre le présent et prédire ou influencer l’avenir, nous devons connaître le passé ». Ou comme certains l'ont suggéré, hum chronologie samajhna chahiye ! Passons donc en revue l’évolution de la technologie Web et des navigateurs, en la décomposant en quatre phases simplifiées pour plus de clarté. À la fin de ce voyage, vous comprendrez non seulement comment les technologies Web ont évolué, mais également ce qui se passe sous le capot, pourquoi ces changements se sont produits et ce qu'ils signifient pour l'avenir du Web.
Remarque : Il ne s'agit pas de délais exacts mais plutôt de phases simplifiées pour aider à la compréhension.
Remontons en arrière avant les années 1980
Imaginez un groupe de chercheurs se précipitant dans les universités américaines, installant des câbles physiques entre des ordinateurs pour transférer ou partager des données. Ces pionniers de la technologie ont établi des protocoles tels que FTP (File Transfer Protocol) et SMTP (Simple Mail Transfer Protocol) pour partager des fichiers et envoyer des e-mails — principalement sur leurs expériences révolutionnaires et peut-être sur des potins occasionnels au bureau. Il y avait des serveurs auxquels nous pouvions nous connecter via un client distant et stocker ou récupérer des fichiers sur le disque à l'aide de commandes écrites.
C'était bien pour de petites quantités de données, mais à mesure que les données augmentaient de plus en plus vite, trouver des informations spécifiques est devenu un véritable casse-tête. Pour récupérer des données, il fallait connaître les chemins exacts, les adresses des serveurs et peut-être faire une petite danse pour apaiser les dieux de l'informatique. Des informations précieuses risquaient d'être perdues dans le remaniement numérique, éparpillées sur les serveurs comme des chaussettes disparaissant dans un tourbillon de blanchisserie.
Entrez la fin des années 1980 et le début des années 1990
Un brillant Britannique nommé Sir Tim Berners-Lee est arrivé. Il a rédigé une proposition intitulée Gestion de l'information : une proposition. Dans lequel il parlait de l'utilisation de systèmes de texte non linéaires appelés « hypertexte », c'est-à-dire un texte qui inclut les liens vers les informations pertinentes connectées comme une toile d'araignée géante. Ainsi, la navigation et l'exploration des données associées sont plus faciles et la perte d'informations sera minimisée !
Dans cette proposition, il a également fait référence aux ordinateurs interconnectés sous le nom de « Web ». Et c’est ainsi que le World Wide Web est né ! Il ne s’est pas arrêté là ; il a ensuite inventé le protocole de transfert hypertexte (HTTP), développé le premier navigateur, joliment nommé WorldWideWeb (rebaptisé plus tard Nexus), le premier serveur Web HTTP et le premier site Web. Parlez de dépassement de soi !
HTTP (HyperText Transfer Protocol) : Un ensemble de règles, de syntaxe et de sémantique utilisé pour le transfert d'informations entre un client (par exemple, votre navigateur Web) et un serveur Web (le ordinateur distant hébergeant le site Internet). Si vous vous interrogez sur le nom, sachez qu’au départ, il était uniquement destiné au transfert de fichiers HTML. Mais il a évolué pour prendre en charge le transfert de tous types de données dans les versions ultérieures, après l'introduction des en-têtes, notamment l'en-tête Content-Type.
Serveur Web HTTP : Un ordinateur capable de comprendre ce protocole HTTP. La tâche principale est d'analyser la demande et de fournir la réponse demandée, à ce stade, principalement des fichiers HTML, CSS, JPG statiques.
C'est à ce moment-là que le HTML (Hypertext Markup Language) entre en jeu, combinant l'idée de l'hypertexte avec le SGML (Standard Generalized Markup Language), qui était ensuite utilisé pour le formatage des documents. La première version de HTML était assez basique : elle prenait en charge les titres, les paragraphes, les listes et les liens. Pas de polices fantaisistes ni d'animations flashy — juste l'essentiel.
Pendant les premières années, le Web était comme un club exclusif pour les chercheurs et les universitaires. Ensuite, des gens intelligents ont développé un navigateur appelé Mosaic, qui pouvait afficher des images. Oui, des images ! Cela a rendu le web plus accessible au grand public car, avouons-le, une image vaut mille lignes (mais pas d’image dans ce blog ?) !
Alors, voyons ce qui se passait dans ces navigateurs avec des capacités juste au-dessus
Interface utilisateur : Chaque navigateur avait une barre de navigation en haut où tous vos onglets ouverts (ou fenêtres à l'époque) étaient visibles. En dessous se trouvait la barre d’adresse dans laquelle vous saisissiez l’adresse du site Web. En dessous se trouve l'endroit (fenêtre) où le contenu du site Web que vous avez entré sera affiché. N'oubliez pas que c'était avant les moteurs de recherche, donc si vous ne connaissiez pas l'adresse exacte, vous n'aviez pas de chance — un peu comme essayer de trouver un endroit sans GPS ni carte.
Récupération de données : Lorsque vous entrez une adresse de site Web, le module réseau du navigateur récupère les données en effectuant des tâches telles que la résolution DNS et en établissant une connexion sécurisée avec le serveur pour démarrer la communication. Le navigateur recevrait alors des données sous forme de HTML du serveur.
Moteur de rendu : Le moteur de rendu commencerait à analyser le HTML. S'il rencontrait des balises nécessitant des ressources supplémentaires, telles que des images () ou des styles (