Première rédaction de cet article le 21 septembre 2009
Sur l'excellent site de Q&A Super User, une question « What exactly happens when you browse a website in your browser? » a suscité une excellente réponse de Ilari Kajaste. Comme elle est à la fois correcte et drôle, cela valait la peine de la traduire en français. Traduction et adaptation par Ève Demazière.
Navigateur : Bon, j'ai un utilisateur qui me demande cette adresse :
www.telerama.fr
. Comme il n'y a pas de
barre oblique, ni rien d'autre,
j'imagine qu'il s'agit de la page d'accueil. Pas de protocole ni de
port ? Ce doit être du HTTP et le port 80... Mais commençons par le
commencement. Hello, DNS ! Réveille-toi ! Où se cache ce
www.telerama.fr
?
DNS : Attends... Je demande aux serveurs du
fournisseur d'accès. Bon, il semble que ce soit le 212.95.67.146
.
Navigateur : Merci. Internet Protocol, c'est à toi ! Appelle le
212.95.67.146
, s'il te plaît. Envoie-leur cet en-tête HTTP. On
demande la structure basique et la page d'accueil... Mais c'est vrai,
tu t'en fiches !
TCP/IP : Comment ça, « c'est à moi » ? Comme si je ne bossais pas déjà comme un malade pour le DNS !... Pas moyen d'être un peu reconnu, par ici...
Navigateur : ...
TCP/IP : ça va, ça va, je me connecte... Je vais demander au routeur de le transmettre. Vous savez, ça n'est pas si simple que ça, je vais devoir diviser votre demande en plusieurs morceaux pour qu'elle aille jusqu'au bout, et rassembler les milliers d'infos que je reçois en retour... Ah oui, vous vous en fichez...
[Entretemps, au quartier général de Télérama, un message finit par arriver à la porte du serveur Web.]
Le serveur Web de Télérama : Tchôôô ! Un client ! Il veut des infos ! La page d'accueil ! On peut ?
Logiciel de gestion du contenu : Oui, c'est bon. La page d'accueil, c'est ça ?
Le serveur de la base de données de Télérama : Ouïe, du travail pour moi ! Vous voulez quoi, comme contenu ?
Logiciel de gestion du contenu : euh... désolé, la base de données ! En fait, j'ai déjà une copie de la page d'accueil, dans mon cache, pas besoin de rassembler les infos. Mais récupère donc l'identité de cet utilisateur et garde-le en réserve, comme ça on saura à qui on parle, plus tard. Je renvoie un cookie à l'utilisateur !
Le serveur de la base de données de Télérama : OK !
[Revenons à l'ordinateur de l'utilisateur...]
TCP/IP : Oooookay, voilà la réponse. Oulà, j'ai comme l'impression que c'en est une grosse...
Navigateur : Waouh, il y a toutes sortes de
Javascript... Et des images, et des formulaires... Bon, ça va prendre
un peu de temps, pour l'affichage. Je m'y mets. Hé, IP, il
faut que tu ailles m'en chercher un peu plus. Il y a des feuilles de
style chez statique.telerama.fr
. Passe par le HTTP et demande
/css/styles_2009.css
. Et regarde aussi les scripts dans /scripts/
, dans
/uz/
et dans /scriptaculous_beta/
, j'en trouve 60 pour le moment.
Il y a même un iframe qui va chez
pubm.lemonde.fr
.
TCP/IP : je vois le genre... Donne-moi l'adresse du serveur et le reste. Les infos sur les fichiers, mets-les toi-même dans la demande HTTP, je ne veux pas avoir à m'en occuper.
DNS : c'est bon, je cherche le serveur
statique.telerama.fr
... Ouah, facile, en fait il s'appelle statique-telerama.sdv.fr
et son
numéro IP est le 212.95.67.146
.
Navigateur : ouais, ouais... Attends ! ça va prendre quelques nanosecondes, j'essaie de comprendre tous ces scripts...
TCP/IP : tiens, voilà la CSS que tu demandais. Ah... et encore des scripts qui viennent juste d'arriver.
Navigateur : hey, il y a une publicité en Flash, aussi !
TCP/IP : oh mec, ça a l'air super marrant...
Navigateur : il y a plein d'images, aussi. Et cette CSS est un peu bizarre... Alors, si ce bout va ici, avec cette ligne tout en haut... Et ça, où est-ce que je le mets, il n'y a plus de place... Bon, il faut que je déplace tout pour que ça tienne... Ah, mais l'autre CSS remplace cette règle... Bon, ça ne va pas être facile à afficher, c'est sûr !
TCP/IP : hé, arrête de me distraire, j'ai encore plein de choses à faire, de mon côté !
Navigateur : hé, l'utilisateur, voici une petite barre de progression pour toi, pendant que tu attends. Désolé, mais ça va prendre quelques secondes, il doit y avoir 245 éléments différents à télécharger, et j'en ai 16, pour le moment !
[Une ou deux secondes plus tard...]
TCP/IP : Bon, je crois que j'ai tout. Désolé si je t'ai aboyé dessus tout à l'heure... Tu t'en sors ? C'est un sacré boulot, pour toi...
Navigateur : Ouf, c'est sûr... Tous ces sites Web, de nos jours, ne nous rendent pas la tâche facile. Bon, je m'en sortirai, après tout c'est à ça que je sers...
TCP/IP : c'est difficile pour nous tous, en ce moment... Eh, arrête de faire des demandes DNS pendant ce temps !
Navigateur : Ouh ouh, l'utilisateur ! Ton site Web est prêt, tu peux lire tes infos !
Version PDF de cette page (mais vous pouvez aussi imprimer depuis votre navigateur, il y a une feuille de style prévue pour cela)
Source XML de cette page (cette page est distribuée sous les termes de la licence GFDL)