Internet, comment ça marche ?

Dans cet article je vais tenter d'expliquer avec mes mots, en utilisant le moins de jargon technique possible, ce qui se passe entre le moment où l'on tape "www.google.fr" dans son navigateur et le moment où la page de Google s'affiche.

Les acteurs

Voyons déjà ceux qui ont un rôle dans l'histoire. Déjà, il y a le logiciel que vous utilisez pour aller sur internet : le navigateur. Chez vous, il peut s'appeler Firefox, Chrome ou Internet Explorer. Il est execute tous vos ordres : lorsque vous entrez "www.google.fr", c'est ce logicel qui est chargé d'aller récupérer la page quelque part dans le monde et de vous l'afficher. Voici les icônes de quelques navigateurs.

Ensuite il y a les ordinateurs sur lesquels sont enregistrés les site internet. Vous vous doutez bien que les sites ne sont pas enregistrés dans votre ordinateur.

Mais alors, ils sont enregistrés où, au juste, les sites internet ?

Les sites internet sont enregistrés dans dans serveurs. Pour se représenter un serveur, il faut s'imaginer un ordinateur sans écran ni clavier ni souris branché à internet. Les serveurs sont en général empilés par milliers et rangés dans de gros hangars comme sur la photo.

Disons que vous voulez aller sur le site de Google. Vous de votre côté, vous allez taper "www.google.fr" dans votre navigateur et Google de son côté a son site enregistré sur un de ses serveurs. C'est donc ces deux là qui vont dialoguer entre eux, d'un côté votre navigateur et de l'autre le serveur.

Adresses IP : les numéros de téléphone du web

Mais il y a des millions de serveurs et d'ordinateurs sur internet. Comment font mon ordinateur et le serveur pour se trouver et pour se parler alors ?

Chaque ordinateur branché a internet à une adresse IP qui ressemble à 129.104.201.51. Il faut voir ces adresses comme un numéro de téléphone ou une adresse postale. Si un ordinateur veut envoyer un message à un autre, il suffit qu'il envoie sur le réseau son message en précisant l'adresse IP du destinataire. Le destinataire va recevoir le message une fraction de seconde plus tard, comme par magie (en tout cas, on ne cherche pas à comprendre ici).

Serveurs DNS : des annuaires du web

Et comment on connait l'adresse IP du serveur de Google ?

Nous on ne s'en occupe pas, c'est le navigateur qui fait tout le boulot. Le navigateur va déjà contacter des serveurs qui connaissent toutes les adresses IP de tous les sites. Ce sont les serveurs DNS, pour Domain Name Server, serveur de nom de domaine en français (par ce que "www.google.fr" s'appelle un nom de domaine). Chaque ordinateur connecté à internet connaît l'adresse IP d'au moins un serveur DNS. C'est le fournisseur d'accès à internet (comme Free, Orange ou Neuf) qui le donne à l'ordinateur automatiquement. Le navigateur va donc envoyer le message au serveur DNS :

Quel est l'adresse IP de www.google.fr ?

et le serveur DNS va répondre un quelque chose comme :

L'adresse IP de www.google.fr est 209.85.229.104

C'est un peu comme les pages jaunes : c'est une sorte d'annuaire du web. Pratique, non ?

Vous parlez l'HTTP ?

Le navigateur a maintenant l'adresse IP du serveur sur lequel est enregistré le site Google, il n'a plus qu'à lui demander (gentiment) de lui envoyer la page d'accueil. Pour cela, le navigateur et le serveur dialogue en utilisant un langage très précis. En informatique, un langage utilisé par des programme pour communiquer s'appelle un protocole. Le protocole utilisé pour dialoguer avec des serveurs web (ceux qui ont les sites web) est le protocole HTTP, pour HyperText Transfert Protocol. En fait, quand vous tapez "http://www.google.fr", vous dites à votre navigateur :

Contacte le serveur www.google.fr en lui parlant en HTTP et demande lui sa page d'accueil.

Il existe d'autres protocoles, vous avez peut être entendu parlé de FTP (File Transfert Protocol — protocole de transfert de fichier), TCP (Transmission Control Protocol — un protocole utilisé pour transporter de l'information de manière fiable), etc.

Un site web ? Le voici.

Donc mon navigateur demande au serveur le site internet. Et ensuite ?

Ensuite, le serveur répond en lui renvoyant la page d'accueil du site. Il lui envoie en parlant encore avec un autre langage : le HTML. C'est un langage compréhensible par les navigateurs, qui "explique" au navigateur ce qu'il y a écrit sur la page du site, ou est ce que c'est placé, de quelle couleur, vers quoi vont les liens, etc. Du HTML, ça ressemble à ça :

<html>
    <body>
        <h1>Un titre</h1>
        <p>Un paragraphe</p>
    </body>
</html>

Quand le navigateur reçoit le site en HTML, il va le dessiner à l'écran pour qu'il soit lisible par vous. Et voila, vous avez votre site !

Bilan : lecture d'une adresse web

Donc finalement, vous pouvez comprendre toutes les partie des addresses web que vous tapez dans le navigateur :

http://www.lemonde.fr/on-a-marché-sur-la-lune.html

Vous avez :

  • en rouge, le protocole utilisé pour demander au serveur la page web
  • en vert, le nom du serveur, qui sera traduit en adresses IP par les serveurs DNS
  • en bleu, le nom de la page sur le serveur, avec en bleu clair le langage dans lequel est écrit la page (HTML ici, mais il existe d'autres langages)

Et après ?

Après, lorsque vous cliquez sur un lien, le navigateur sait à quel serveur demander la page. Derrière chaque lien, il y a l'adresse d'une page. Par exemple, si vous cliquez sur un lien derrière lequel il y a l'adresse :

http://www.lemonde.fr/on-a-marché-sur-la-lune.html

voila ce qui se passera :

  1. le navigateur contactera le serveur DNS pour avoir l'adresse IP du serveur www.lemonde.fr
  2. le navigateur enverra une requête avec le protocole HTTP au serveur www.lemonde.fr en lui demandant de lui renvoyer la page "on-a-marché-sur-la-lune.html"
  3. le serveur enverra la page au navigateur en HTML
  4. le navigateur vous l'affichera
Quentin Pleplé
August 2010