Leçon 5 / 6
Leçon 05 · Partie 2 — En pratique

DNS et HTTP

Ce qui se passe quand tu tapes une URL

Tu tapes https://google.com dans ton navigateur et tu appuies sur Entrée. En moins d'une seconde, la page s'affiche. Mais derrière cette seconde, il s'est passé beaucoup de choses.

Ce cycle complet — de la frappe du clavier à l'affichage de la page — implique plusieurs technologies qui travaillent ensemble.

Ce processus se passe en quelques dizaines de millisecondes. Des dizaines d'allers-retours réseau, des vérifications de sécurité, des requêtes à plusieurs serveurs — tout ça avant que tu voies la première image.

Étape 1 — DNS : l'annuaire d'internet

Ton navigateur connaît google.com. Mais le réseau, lui, ne comprend que des adresses IP. Il faut donc traduire le nom de domaine en adresse IP. C'est le rôle du DNS (Domain Name System).

Le DNS, c'est l'annuaire téléphonique d'internet. Tu cherches un nom, il te donne le numéro.

// DNS — résolution de nom de domaine

Navigateur  → DNS : "Quelle est l'IP de google.com ?"
DNS         → Navigateur : "142.250.74.46"

// Le DNS interroge une hiérarchie de serveurs :
Cache local  // déjà connu ? → fin
    │
Résolveur FAI // ton fournisseur d'accès
    │
Serveurs racine // ".com" → qui gère ?
    │
Serveurs TLD // "google.com" → qui gère ?
    │
Serveurs DNS Google // réponse finale : 142.250.74.46
💡

Ton navigateur et ton OS gardent les résultats DNS en cache. Si tu as déjà visité google.com, l'IP est mémorisée localement pendant quelques minutes à quelques heures. Pas besoin de refaire toute la chaîne à chaque fois.

Étape 2 — Connexion TCP

Maintenant que le navigateur a l'adresse IP, il doit établir une connexion avec le serveur. Pour HTTPS, il fait d'abord le handshake TCP (SYN/SYN-ACK/ACK), puis une négociation TLS pour chiffrer la communication.

// Connexion TCP + TLS (pour HTTPS)

Navigateur  ──── SYN ───────────→  Serveur  // TCP handshake
            ←─── SYN-ACK ─────────
            ──── ACK ───────────→

            ──── ClientHello ────→           // TLS : "voici mes algos"
            ←─── ServerHello ────           // TLS : "ok, voici mon certificat"
            ──── Finished ───────→           // TLS : connexion chiffrée établie

Étape 3 — Requête HTTP

Connexion établie. Le navigateur envoie maintenant une requête HTTP pour demander la page au serveur.

// Requête HTTP GET — ce que le navigateur envoie

GET / HTTP/2
Host: google.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
Accept: text/html,application/xhtml+xml
Accept-Language: fr-FR,fr;q=0.9
Connection: keep-alive

// Méthodes HTTP courantes :
GET    → lire une ressource (page, image, données)
POST   → envoyer des données (formulaire, login)
PUT    → mettre à jour une ressource
DELETE → supprimer une ressource

Étape 4 — Réponse du serveur

Le serveur reçoit la requête, cherche la ressource, et renvoie une réponse HTTP avec un code de statut et le contenu.

// Réponse HTTP — ce que le serveur envoie

HTTP/2 200 OK
Content-Type: text/html; charset=UTF-8
Content-Length: 45678
Cache-Control: max-age=3600

<!DOCTYPE html>
<html>...</html>   // le contenu de la page

// Codes de statut HTTP courants :
200 OK             → succès, voici la ressource
301 Moved          → redirigé vers une autre URL
404 Not Found      → ressource introuvable
500 Server Error   → erreur côté serveur
403 Forbidden      → accès refusé

Le cycle complet en un schéma

// Cycle complet : URL → Page affichée

Tu tapes https://google.com
          │
          ▼
1. DNS       : google.com → 142.250.74.46
          │
          ▼
2. TCP       : SYN → SYN-ACK → ACK
          │
          ▼
3. TLS       : négociation chiffrement (HTTPS)
          │
          ▼
4. HTTP GET  : "Donne-moi la page /"
          │
          ▼
5. Réponse   : 200 OK + HTML + CSS + JS
          │
          ▼
6. Affichage : navigateur rend la page
⚠️

Une page web moderne peut déclencher des dizaines de requêtes supplémentaires : images, polices, scripts, APIs… Chacune suit le même cycle (ou réutilise la connexion existante). Ouvre les DevTools → onglet Network pour voir tout ça en direct.

// À retenir
  • DNS = annuaire : traduit google.com en adresse IP.
  • TCP handshake : connexion établie avant tout échange de données.
  • TLS : négociation de chiffrement pour HTTPS.
  • HTTP GET : le navigateur demande la ressource au serveur.
  • 200 OK = succès. 404 = pas trouvé. 500 = erreur serveur.
  • Tout ça en quelques dizaines de millisecondes à chaque chargement.