Que se passe-t-il quand on tape une URL dans son navigateur ?
Ouvrir son navigateur, taper une URL dans la barre d’adresse et naviguer d’une page à l’autre sont tellement entrés dans nos habitudes que l’on ne prend plus la mesure de tout ce qui se passe au cours de cet acte anodin.
Si découvrir quels mécanismes sont en jeu quand on tape une adresse dans son navigateur peut satisfaire les esprits les plus curieux, comprendre la manière dont fonctionne une URL va vous aider à mieux maîtriser votre propre site internet et, le cas échéant, résoudre d’éventuels problèmes.
A quoi sert une URL ?
Le premier pas vers une compréhension de la manière dont s’opère la navigation sur le web est de s’assurer de savoir ce qu’est l’URL et à quoi elle sert.
L’URL, « uniform resource locator », désigne communément l’adresse d’un site Internet.
Le rôle de l’URL est donc de localiser précisément où se trouve une “ressource “ particulière, un fichier, que ce soit une page web, une image, un fichier mp3 ou tout autre objet, sur Internet.
Mais le fonctionnement de cette URL est bien évidemment plus complexe que cette analogie avec une adresse physique. Que se passe-t-il donc quand on tape une URL dans la barre d’adresse ?
Le fonctionnement d’une URL
Une URL est composée de plusieurs parties distinctes. Le cœur de l’URL est le nom de domaine, qui a la forme “exemple.com”.
Le nom de domaine dans l’URL
L’URL est composée en général d’un TLD, pour “Top-Level Domain” (par exemple “.fr” ou “.com”, puis un nom de domaine de second niveau (dans notre cas, “exemple”). L’URL précise souvent un sous-domaine, en général “www” mais ce sous-domaine peut être par exemple “shop”, “docs”, “news”, etc.
Cette partition de l’adresse indique à votre navigateur où chercher dans le systèmes DNS pour localiser la page ou tout autre ressource que vous recherchez.
Le protocole dans l’URL
Avant d’indiquer le nom de domaine, il convient de préciser à quel protocole on fait appel. En général, pour une ressource sur le web, il faudra passer par HTTP ou HTTPS. Votre navigateur est donc informé de la manière dont il convient d’établir la communication avec le serveur.
Le chemin dans l’URL
Le chemin est la partie de l’adresse qui suit le nom de domaine et indique au serveur quel dossier et quel fichier précisément vous intéresse.
Les autres composantes d’une URL
D’autres parties peuvent composer l’URL, notamment les requêtes, identifiées par la ponctuation “?” et suivie de paramètres particuliers. Il est également courant de voir le signe “#” indiquant une ancre dans la page vers laquelle vous souhaitez vous rendre directement.
Maintenant que les présentations sont faites, nous sommes armés pour nous plonger dans le fonctionnement d’un navigateur confronté à une URL.
1ère étape : la quête de l’adresse IP
La première mission de votre navigateur est d’identifier l’adresse IP du serveur sur lequel il trouvera le fichier que vous cherchez. Votre navigateur est en effet incapable de localiser une ressource sur la seule base de l’URL ou du nom de domaine que vous avez indiqué.
Pour ce faire, il doit convertir le nom de domaine en une adresse IP, celle du serveur correspondant. Si l’URL est compréhensible par un humain, l’adresse IP correspond à la localisation d’un ordinateur en particulier parmi tous ceux qui sont reliés à Internet.
C’est le DNS, le “Domain Name System”, qui permet cette correspondance entre URL et adresse IP. Le navigateur va donc soumettre l’URL au DNS qui va lui donner en retour l’IP du serveur qui contient cette ressource.
2ème étape : connexion initiale au serveur
Une fois que votre navigateur a identifié le serveur qui vous intéresse, il peut s’y connecter. Pour cela, il utilise un protocole appelé Transmission Control Protocol (TCP).
Cette connexion doit être établie avant que quoi que ce soit puisse être envoyé ou reçu entre votre navigateur et le serveur web de l’URL que vous essayez d’atteindre. La connexion consiste en l’envoi et la réception de données entre votre navigateur et le serveur web. Le protocole responsable de l’acheminement de ces données à travers votre routeur, le réseau de votre FAI et d’autres aspects de l’internet est le TCP.
Une fois votre connexion établie, votre navigateur est en mesure d’envoyer et de recevoir des fichiers avec le serveur. Pendant que la connexion est en cours d’établissement, ces « paquets » sont essentiellement vides, mais une fois la connexion établie, votre navigateur peut échanger des données d’application avec le serveur Web. Autrement dit, il peut envoyer et recevoir des données pour le web.
3ème étape : l’utilisation du protocole HTTP
Nous venons d’évoquer le protocole TCP pour permettre au navigateur de se connecter au serveur après avoir expliqué que HTTP était également un protocole. TCP est le protocole internet utilisé pour connecter deux ordinateurs sur l’internet, tandis que HTTP est un protocole web utilisé pour échanger des données web.
HTTP est un ensemble de procédures destiné à échanger des données web, documents hypertextes, liens hyperliens et tout un ensemble d’objets spécifiques au web.
4ème étape : la connexion par HTTPS (HTTP avec TLS/SSL)
Lorsqu’on se connecte à un site web aujourd’hui, il y a de fortes chances que l’on soit contraint d’utiliser HTTPS au lieu de HTTP. Ce n’est pas un protocole différent, mais bien HTTP avec une couche de chiffrage supplémentaire. C’est à dire que dans le cadre du protocole HTTP, les données sont échangées en toute transparence avec la possibilité d’être lues par n’importe qui. Internet et le web sont distribués, c’est précisément leur force. Les données sont donc relayées, acheminées et éventuellement interceptées tout au long du circuit tortueux qui les conduit du serveur à votre navigateur.
C’est là que le HTTPS entre en scène : HTTPS ajoute un ingrédient spécial : TLS ou, comme il est encore communément appelé SSL, qui est une procédure permettant de rendre illisibles toutes les données envoyées et reçues entre le serveur et le navigateur. Pour cela TLS/SSL chiffre les données, c’est à dire qu’il les encode en utilisant un code secret.
TLS/SSL utilise un chiffrage à clé publique, ainsi expéditeur et destinataire des données peuvent déchiffre ces données sans avoir à préalablement échanger leur mode de chiffrage.
Par conséquent, lorsque vous tapez dans votre barre d’adresse une URL en HTTPS, votre navigateur et le serveur que vous cherchez à atteindre utilisent ce protocole permettant une connexion sécurisée par TLS/SSL.
5ème étape : le contenu web est reçu
Nous y voila : la connexion est établie via TCP, HTTP et HTTPS, votre navigateur peut recevoir les données présentes sur l’adresse que vous avez spécifiée. Si c’est une page web, ces données seront structurées en HTML (Hypertext Markup Language), un format spécifique au web.
Désormais, sur la plupart des sites internet, les documents sollicitent des ressources de mise en forme qui s’exécutent au chargement de la page. C’est le cas par exemple du CSS. C’est dans cette “feuille de style” que sont indiquées les couleurs, les polices de caractères, les images de fond, etc. qui seront appliquées à une page en particulier ou à l’ensemble des pages du site. Cette “externalisation” des éléments de mise en forme est le meilleur moyen de s’assurer d’une certaine homogénéité de l’apparence des pages d’un site sans avoir à reproduire sur chaque page HTML ces indications de forme.
Cette feuille de style constitue un élément distinct de la page qui sera stockée sur le même serveur et qu’il faudra appeler par une requête spécifique de la part de votre navigateur.
Des scripts côté client
Du code peut également être envoyé dans le fichier HTML afin d’être exécuté par votre navigateur.
Le JavaScript permet de mettre en œuvre des actions exécutées par votre navigateur pour affecter l’affichage et créer des interactions avec les éléments de cette page. Il est ainsi possible d’adapter l’affichage à l’appareil utilisé (ordinateur, tablette ou téléphone) pour consulter ces pages avec un confort de lecture et d’interaction optimal.
Ces applications actives dans le navigateur installé sur votre ordinateur sont les applications web. Mais d’autres actions peuvent être menées en amont.
Des scripts côté serveur
L’autre moyen d’apporter du dynamisme à l’affichage d’une page web se trouve au niveau du serveur avec des langages comme le PHP par exemple. Ces scripts s’exécutent au niveau du serveur et modifient le contenu envoyé en fonction du navigateur, et donc de l’utilisateur.
Dans ce cas précis, en entrant une URL dans la barre d’adresse de votre navigateur, vous déclenchez l’exécution d’un script à distance, sur un serveur.
Ce qu’il se passe quand vous tapez une URL dans votre navigateur
Vous connaissez désormais l’enchaînement d’évènements qui se produisent lorsque vous entrez une URL dans la barre d’adresse de votre navigateur. Mais cette connaissance va surtout vous permettre d’être plus efficace et confiant quand à votre tour vous mettrez du contenu à disposition d’internautes qui seront à la recherche des ressources que vous aurez produites, et qui chemineront jusqu’à leur destinataire grâce à différents protocoles et processus successifs.
Si vous êtes prêt(e) à forger les URL que des millions de gens vont taper dans leur navigateur, vous aurez besoin d’un nom de domaine, d’un moyen d’héberger tout ce contenu et d’un certificat TLS/SSL. Gandi peut vous proposer tout cela. Pour le reste, vous devrez compter sur vous-même.
Tagged in DNSNom de domaine