Kodokon kodokon.com

Comment marche Internet : client, serveur, requête

Comprenez qui demande quoi à qui quand une page web s'affiche sur votre écran.

7 min · 3 questions

Ouvrir cette leçon dans Kodokon

Imaginez un restaurant. Vous vous asseyez, vous appelez le serveur, vous commandez un plat, et le serveur vous l'apporte. Le web fonctionne exactement pareil. Vous, avec votre navigateur, vous êtes le client : c'est vous qui demandez. En face, il y a un serveur : un ordinateur allumé en permanence, quelque part dans un bâtiment climatisé, dont le seul travail est d'attendre des demandes et d'y répondre. Un serveur n'a rien de magique : c'est une machine, comme la vôtre, mais qui ne dort jamais et qui n'a pas d'écran.

Le point le plus important à retenir : le serveur ne fait jamais le premier pas. Il ne vous envoie rien tant que vous n'avez rien demandé. Chaque fois que vous tapez une adresse ou que vous cliquez sur un lien, votre navigateur envoie une requête (une demande), et le serveur renvoie une réponse. Demande, réponse. Demande, réponse. Tout le web tient dans ce va-et-vient.

Pour qu'une demande arrive à destination, chaque machine connectée possède une adresse IP : une suite de nombres qui joue le rôle d'adresse postale, par exemple 93.184.215.14. Votre message n'est pas envoyé d'un bloc : il est découpé en petits morceaux appelés paquets, qui voyagent chacun de leur côté à travers des dizaines de machines intermédiaires, puis sont réassemblés dans le bon ordre à l'arrivée. Vous pouvez vérifier qu'une machine répond avec la commande ping.

BASH
ping -c 2 example.com

PING example.com (23.215.0.136): 56 data bytes
64 bytes from 23.215.0.136: icmp_seq=0 ttl=54 time=17.3 ms
64 bytes from 23.215.0.136: icmp_seq=1 ttl=54 time=16.9 ms

--- example.com ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
Sur Windows, écrivez ping -n 2 example.com. L'adresse IP affichée chez vous peut être différente : c'est normal.

Et que renvoie le serveur, exactement ? Du texte. Une page web n'est rien d'autre qu'un fichier texte en HTML que le serveur vous expédie et que votre navigateur met en forme. Vous pouvez le voir de vos propres yeux sans navigateur, avec l'outil curl, qui envoie une requête et affiche la réponse brute dans le terminal.

BASH
curl -s https://example.com | head -n 5

<!doctype html>
<html>
<head>
    <title>Example Domain</title>
    <meta charset="utf-8" />
curl demande la page, head -n 5 n'en affiche que les 5 premières lignes.

Quiz de validation

Vérifiez que vous avez bien retenu les points clés de cette leçon.

  1. Dans un échange web, qui prend l'initiative ?
    • Le serveur, qui envoie les pages quand il le décide
    • Le client, c'est-à-dire votre navigateur
    • La box internet, qui distribue les pages
  2. Qu'est-ce qu'un serveur web ?
    • Un ordinateur allumé en permanence qui répond aux requêtes
    • Le câble qui relie votre logement au réseau
    • Le logiciel qui affiche les pages sur votre écran
  3. Une page contient une feuille de style et trois images. Combien de requêtes environ le navigateur envoie-t-il ?
    • Une seule, tout arrive d'un bloc
    • Deux : la page puis les fichiers groupés
    • Au moins cinq : une par fichier