Qu’est-ce que l’internet ?
L’internet est un réseau de réseaux. Il ne s’agit pas d’une machine ou d’une entreprise unique, mais de millions de réseaux indépendants qui acceptent d’utiliser les mêmes protocoles afin de pouvoir s’échanger des données. C’est cet accord qui permet à un ordinateur portable dans un pays de communiquer avec un serveur dans un autre en une fraction de seconde.
Le World Wide Web est l’un des services qui fonctionnent sur ce réseau, en utilisant HTTP, des URLs et des navigateurs. L’internet transporte bien plus encore : les e-mails, les appels vidéo, le transfert de fichiers et d’innombrables autres applications. Comprendre le réseau sous-jacent permet d’expliquer pourquoi le web se comporte de la sorte.
Clients et serveurs
Presque tout sur le web suit un modèle client-serveur. Un client envoie une requête ; un serveur renvoie une réponse.
- Le client est généralement un navigateur, mais il peut s’agir d’une application mobile, d’un script ou d’un autre serveur.
- Le serveur est un ordinateur qui écoute les requêtes et renvoie des ressources telles que du HTML, du JSON, des images ou des fichiers.
Ce cycle requête/réponse est le cœur battant du web. Chaque chargement de page, appel API et téléchargement d’image correspond à un ou plusieurs de ces échanges.
Adresses IP et paquets
Chaque appareil sur le réseau possède une adresse IP, semblable à une adresse postale pour les données. Lorsque vous envoyez un élément, celui-ci est divisé en paquets : de petits morceaux de données, chacun étiqueté avec une adresse source et une adresse de destination.
Les paquets voyagent indépendamment. Les routeurs rencontrés en chemin redirigent chacun d’eux vers sa destination, et ils peuvent emprunter des chemins différents. La machine réceptrice les réassemble ensuite pour reconstituer le message original. Cette architecture, appelée commutation de paquets, est ce qui rend l’internet résilient : si une route échoue, les paquets peuvent emprunter un autre chemin.
La couche transport : TCP et UDP
L’IP achemine les paquets vers une machine, mais elle ne garantit pas qu’ils arrivent dans l’ordre, ni même qu’ils arrivent. C’est là qu’intervient la couche transport.
- TCP établit une connexion et fournit un flux ordonné et fiable. Il retransmet les paquets perdus et c’est le protocole utilisé par HTTP.
- UDP est sans connexion et ne garantit pas la livraison. Il est plus rapide et est utilisé pour la vidéo en direct, les jeux et DNS.
Par-dessus TCP, TLS chiffre la connexion afin que personne ne puisse l’intercepter ou la modifier. HTTPS est simplement du HTTP via TLS.
DNS : des noms aux adresses
L’être humain retient les noms, pas les chiffres. Le DNS (Domain Name System) est l’annuaire qui associe un nom comme example.com à une adresse IP.
Lorsque vous visitez un domaine, votre ordinateur interroge un résolveur, lequel sollicite une hiérarchie de serveurs de noms jusqu’à atteindre le serveur faisant autorité. La réponse est mise en cache pendant une certaine période afin que les recherches ultérieures soient instantanées. Le guide DNS détaille tout cela.
HTTP : le langage du web
Une fois la connexion établie, le navigateur et le serveur communiquent via HTTP. Le client envoie une requête comprenant une méthode (comme GET ou POST), un chemin et des headers ; le serveur répond avec un code de statut, des headers et un corps de réponse.
GET /index.html HTTP/2
Host: example.com
Accept: text/html
HTTP/2 200 OK
Content-Type: text/html
Content-Length: 1256
<!doctype html> ...
Le guide HTTP détaille les méthodes, les codes de statut, les headers, les cookies et la mise en cache.
Que se passe-t-il lorsque vous visitez une page
En résumé, le chargement d’une page se déroule comme suit :
- Résolution du domaine via DNS pour obtenir une adresse IP.
- Connexion à cette adresse via TCP.
- Handshake TLS pour établir un canal chiffré.
- Requête du HTML via HTTP.
- Analyse (parsing) du HTML pour identifier le CSS, le JavaScript, les images et les polices.
- Requête de chacune de ces ressources, souvent en parallèle, puis rendu de la page.
Chaque ressource supplémentaire répète une partie de ce processus, c’est pourquoi réduire le nombre de requêtes et la taille des assets permet d’accélérer le chargement des pages. Le guide sur les navigateurs et le rendu reprend à partir de l’étape 5.
Routeurs, FAI et backbone
De nombreux réseaux se situent entre vous et un serveur. Votre trafic quitte votre réseau via votre FAI, traverse des réseaux régionaux et nationaux, et peut même voyager via des câbles sous-marins entre les continents. À chaque saut, des routeurs décident où envoyer le paquet suivant en s’appuyant sur des tables de routage.
Ce processus est invisible pour vous, mais il explique la latence : plus les données voyagent loin et effectuent de sauts, plus le temps d’aller-retour est long.
CDNs et mise en cache
Un content delivery network (réseau de diffusion de contenu) place des copies de votre contenu sur des serveurs à travers le monde, afin que les utilisateurs soient servis depuis un emplacement proche d’eux. Cela réduit la latence, diminue la charge sur votre serveur d’origine et améliore la fiabilité.
La mise en cache fonctionne à plusieurs niveaux : le cache du navigateur, le CDN et le serveur d’origine. Des en-têtes de cache correctement configurés permettent de réutiliser le contenu au lieu de le récupérer à nouveau, ce qui constitue l’un des gains de performance les plus importants possibles.
Bonnes pratiques
- Servez tout via HTTPS et redirigez le trafic HTTP vers HTTPS.
- Utilisez un CDN pour les assets statiques et le contenu pouvant être mis en cache.
- Configurez des headers de cache cohérents pour accélérer les visites récurrentes.
- Limitez le nombre de requêtes et réduisez la taille des payloads.
- Privilégiez HTTP/2 ou HTTP/3, qui permettent de multiplexer plusieurs requêtes sur une seule connexion.
- Surveillez la latence et le “time to first byte”, et pas seulement le poids de la page.
Erreurs courantes
- Confondre l’internet et le web.
- Supposer que les données empruntent un chemin unique et fixe.
- Servir du contenu sensible via HTTP non sécurisé.
- Ignorer la mise en cache et tout re-télécharger à chaque visite.
- Considérer le DNS comme instantané et ignorer les TTL lors des migrations.
- Déployer un seul serveur dans une seule région pour servir une audience mondiale.
Et après ?
L’internet est le socle de tout ce que vous construisez. Approfondissez vos connaissances sur le protocole avec le guide HTTP, apprenez comment les noms sont résolus dans le guide DNS, et découvrez comment le navigateur traite les octets dans Browsers & Rendering. Ensuite, ouvrez le panneau réseau de votre navigateur et observez le chargement d’une page réelle en temps réel.