Introduction
Lorsque tu ouvres une page Web, ton ordinateur dialogue avec un autre ordinateur situé quelque part dans le monde. Le tien joue le rôle du client, tandis que celui qui héberge le site joue le rôle du serveur. Ce modèle, appelé client-serveur, repose sur des échanges normalisés par le protocole HTTP (HyperText Transfer Protocol, « protocole de transfert hypertexte »). Grâce à lui, les données circulent sur Internet sous forme de requêtes et de réponses.
Lorsque tu entres une URL (Uniform Resource Locator, « localisateur uniforme de ressource ») comme https://www.education.gouv.fr, ton navigateur (le client) envoie une requête HTTP au serveur qui héberge le site. Celui-ci lui renvoie ensuite une page HTML (HyperText Markup Language, « langage de balisage hypertexte ») que le navigateur traduit et affiche à l’écran. Ces échanges s’appuient sur le protocole TCP/IP (Transmission Control Protocol / Internet Protocol, « protocole de contrôle de transmission / protocole Internet »), la base technique de tout Internet.
Cette architecture, encadrée par le W3C (World Wide Web Consortium, « consortium mondial du Web »), ne se limite pas à la technique : elle s’inscrit aussi dans une réflexion sur la sécurité, la protection des données personnelles et le respect de la vie privée, au cœur des enjeux du numérique contemporain.
Le modèle client-serveur : un dialogue organisé
Le fonctionnement du Web peut être comparé à une conversation. Le client (ton navigateur) pose une question, et le serveur répond. Tout commence lorsqu’un internaute saisit une adresse Web.
Prenons un exemple concret : tu entres https://www.education.gouv.fr dans ton navigateur. D’abord, ton ordinateur interroge un serveur DNS (Domain Name System, « système de noms de domaine »). Ce système traduit le nom du site en une adresse IP (Internet Protocol address, « adresse du protocole Internet »), une suite de chiffres unique permettant de localiser précisément le serveur. Par exemple, le nom www.education.gouv.fr peut correspondre à une adresse IP comme 145.242.11.34.
Une fois cette adresse trouvée, le navigateur établit une connexion avec le serveur grâce au protocole TCP/IP, qui découpe les données en petits paquets pour les faire circuler sur le réseau. Ensuite, il envoie une requête HTTP, c’est-à-dire un message demandant au serveur la page d’accueil du site. Le serveur reçoit la requête, prépare la réponse et renvoie le code HTML de la page. Le navigateur interprète alors ce code et affiche le contenu (texte, images, vidéos) à l’écran.
Cette communication peut se faire via deux versions du protocole :
HTTP : la version classique, non sécurisée, où les données circulent en clair.
HTTPS (HyperText Transfer Protocol Secure, « protocole de transfert hypertexte sécurisé ») : la version sécurisée, qui chiffre les échanges grâce au protocole TLS (Transport Layer Security, « sécurité de la couche de transport »). Cela empêche les pirates d’intercepter ou de modifier les données transmises.
C’est pourquoi les navigateurs affichent un petit cadenas devant les adresses commençant par https://, garantissant la confidentialité des échanges.
À retenir
Le modèle client-serveur repose sur un échange permanent : le navigateur envoie une requête HTTP ou HTTPS au serveur, qui renvoie une réponse contenant la page Web. La connexion s’appuie sur le protocole TCP/IP et les serveurs DNS pour trouver l’adresse du site.
Les requêtes HTTP : comment le client et le serveur communiquent
Une requête HTTP est un message envoyé par le navigateur au serveur pour demander une ressource (page, image, vidéo, etc.).
Cette requête contient plusieurs éléments essentiels :
le type de requête (souvent
GETpour demander une ressource ouPOSTpour envoyer des données, par exemple lors d’un formulaire) ;l’URL complète du fichier recherché ;
les paramètres éventuels, c’est-à-dire les données transmises au serveur ;
des en-têtes (headers, « entêtes de requête ») précisant le type de navigateur, la langue utilisée ou le format de réponse souhaité.
exemple de requête : GET /recherche?q=lycée HTTP/1.1 Host: www.education.gouv.fr
Dans cet exemple, le navigateur demande au serveur la page /recherche du site avec un paramètre q=lycée (où q désigne la requête de recherche).
Le serveur répond avec un message : HTTP/1.1 200 OK Content-Type: text/html
Puis il envoie le code HTML de la page. Le navigateur traduit ce code pour afficher le résultat visuel que tu vois à l’écran.
À retenir
Une requête HTTP ou HTTPS permet au navigateur de demander une ressource au serveur. Le protocole TLS, utilisé avec HTTPS, protège les échanges grâce au chiffrement des données.
Côté client et côté serveur : deux espaces d’exécution
Le Web fonctionne comme une coopération entre deux zones : le côté client et le côté serveur.
Le côté client correspond à tout ce qui se passe directement sur ton appareil, dans ton navigateur. Les langages HTML (HyperText Markup Language, « langage de balisage hypertexte ») et CSS (Cascading Style Sheets, « feuilles de style en cascade ») gèrent la structure et la présentation d’une page. Le langage JavaScript, créé en 1995 par Brendan Eich, rend les pages interactives : il permet par exemple d’animer un bouton ou de vérifier qu’un formulaire est bien rempli avant son envoi.
Le côté serveur, en revanche, désigne ce qui se déroule sur l’ordinateur distant avant que la page n’arrive chez toi. Les langages utilisés sont différents : PHP (Hypertext Preprocessor, « préprocesseur hypertexte »), Python, ou Node.js. Ces technologies servent à accéder à une base de données, vérifier un mot de passe ou personnaliser le contenu envoyé au client.
Prenons un exemple concret : lorsque tu te connectes à un espace personnel. Ton navigateur envoie une requête HTTPS contenant ton identifiant et ton mot de passe. Le serveur les vérifie à l’aide d’un programme écrit en PHP ou Python. Si la connexion est réussie, le serveur renvoie une page d’accueil personnalisée. Ensuite, ton navigateur active du code JavaScript pour rendre cette page interactive (animations, menus, notifications). Ce que tu vois à l’écran est donc le résultat d’un travail partagé entre le serveur, qui prépare les données, et le client, qui les met en forme.
À retenir
Le code exécuté côté serveur (PHP, Python, Node.js) prépare les données et contrôle l’accès, tandis que le code exécuté côté client (HTML, CSS, JavaScript) affiche la page et gère les interactions.
Identifier les paramètres d’une requête dans une URL
Une URL peut contenir des paramètres qui transmettent des informations au serveur. Ils apparaissent après un point d’interrogation ? et sont séparés par des esperluettes &.
exemple : https://www.google.com/search?q=lycée
Ici, le paramètre est q=lycée : la clé q (pour query, « requête ») correspond au mot recherché, et lycée en est la valeur.
Autre exemple : https://www.example.com/article?id=258&lang=fr
Cette adresse indique deux paramètres : id=258 (identifiant de l’article) et lang=fr (langue française). Ces éléments aident le serveur à afficher la bonne page, dans la bonne langue.
Les paramètres sont indispensables pour la recherche d’informations, les formulaires ou la navigation dynamique. Mais ils doivent être utilisés avec précaution : certaines informations sensibles, comme des identifiants ou des mots de passe, ne doivent jamais apparaître dans une URL, car elles pourraient être interceptées ou enregistrées dans l’historique.
À retenir
Les paramètres d’une URL permettent de transmettre des informations au serveur. Ils facilitent la navigation, mais ne doivent jamais contenir de données personnelles sensibles.
Le rôle du W3C et les enjeux éthiques du Web
Le W3C (World Wide Web Consortium) est une organisation internationale fondée en 1994 par Tim Berners-Lee, l’inventeur du Web. Son rôle est de définir et d’unifier les standards du Web : les protocoles (HTTP, HTTPS, TCP/IP) et les langages (HTML, CSS, JavaScript) doivent fonctionner de la même manière sur tous les navigateurs et tous les systèmes d’exploitation.
Mais au-delà de la technique, le fonctionnement du Web pose aussi des questions éthiques et sociales. Chaque requête HTTP ou HTTPS transmet des informations sur l’utilisateur : adresse IP, langue, localisation approximative, navigateur utilisé. Ces données peuvent être exploitées à des fins statistiques ou commerciales.
C’est pourquoi l’Union européenne a mis en place le RGPD (Règlement Général sur la Protection des Données), un texte juridique qui encadre la collecte et l’utilisation des données personnelles. Il garantit à chaque citoyen le droit à la confidentialité, à la transparence et à l’effacement de ses informations.
À retenir
Le W3C fixe les règles qui garantissent la compatibilité du Web dans le monde entier. Le RGPD protège les données personnelles des utilisateurs et rappelle l’importance d’un usage responsable et éthique d’Internet.
Conclusion
Le modèle client-serveur est la fondation du Web. Le client (navigateur) envoie une requête HTTP ou HTTPS au serveur, qui renvoie une page HTML affichée grâce au protocole TCP/IP et au système DNS. Le W3C garantit la normalisation de ces échanges, tandis que HTTPS et TLS assurent leur sécurité.
Comprendre ces mécanismes, c’est aussi comprendre leurs implications : chaque requête laisse des traces, chaque donnée partagée mérite d’être protégée. Utiliser Internet de manière responsable, c’est à la fois maîtriser la technique et respecter les principes de sécurité et de vie privée inscrits dans le RGPD.
