Aller au contenu

Numérique et sciences informatiques (spécialité) · Première

Interaction client-serveur et protocole HTTP : cours de 1re NSI

Publié le 7 novembre 2026 · Mis à jour le 7 novembre 2026 · Signaler une erreur

L'essentiel

  • Le Web repose sur un client (le navigateur) qui envoie une requête et sur un serveur qui renvoie une réponse : c'est le modèle client-serveur.12
  • HTTP est le protocole standard du Web ; il est construit sur TCP, et le serveur écoute par défaut sur le port 80.2
  • Le client trouve la machine grâce au DNS et s'adresse au bon service grâce au port ; le serveur peut calculer la page à partir des paramètres placés dans l'URL.21
  • HTTP est un protocole sans état : les cookies permettent à une application serveur de reconnaître une session.2
  • Un serveur concurrent sert plusieurs clients en même temps, et AJAX déplace une partie du travail du serveur vers le client.23

Pourquoi comprendre l'échange entre un navigateur et un serveur

Quand tu ouvres une page dans ton navigateur, tout semble immédiat : tu tapes une adresse, la page apparaît. Pourtant, entre ces deux instants, deux machines ont dialogué, parfois situées à des milliers de kilomètres l'une de l'autre. Ce dialogue suit des règles très précises, sans quoi un ordinateur sous Windows, un téléphone et un serveur sous Linux ne pourraient pas se comprendre.

Dans ce cours, tu vas découvrir ces règles. Tu as déjà vu comment écrire une page avec HTML et CSS, et comment la rendre vivante avec des événements et du JavaScript. Il manque une pièce : comment la page arrive-t-elle jusqu'à ton écran, et comment ce que tu fais dans la page repart-il vers un serveur ? C'est exactement le sujet de ce chapitre.

Le plan est le suivant. D'abord, les deux rôles : le client et le serveur. Ensuite, le protocole HTTP, qui fixe la façon de se parler. Puis la manière dont le client retrouve le bon serveur (adresse, DNS, port). Nous suivrons ensuite un échange complet, avant d'étudier les pages dynamiques, la mémoire d'une session (les cookies) et les limites de ressources d'un serveur. Le chapitre suivant, consacré aux formulaires et aux méthodes GET et POST, s'appuiera directement sur ce que tu vas voir ici.

Le modèle client-serveur

Sur le Web, les pages ne sont pas stockées sur ton ordinateur : elles sont rangées sur une autre machine, qui les distribue à la demande. Cette organisation en deux rôles s'appelle le modèle client-serveur.

Pense à un restaurant. Toi, tu es à table : tu passes commande, tu ne cuisines pas. La cuisine prépare et renvoie le plat. Le navigateur joue le rôle du client à table, le serveur Web celui de la cuisine. Cette comparaison a une limite : à la différence d'une cuisine débordée, un serveur Web bien conçu répond à beaucoup de monde à la fois, comme nous le verrons plus loin.2

Le protocole HTTP

Pour que deux machines se comprennent, il faut un langage commun et des règles d'échange : un protocole. Pour le Web, ce protocole s'appelle HTTP.

Le Web repose donc sur deux ingrédients complémentaires : un langage de balisage pour décrire les documents (le HTML que tu connais) et un protocole client-serveur pour transférer l'information (HTTP).2 Le HTML dit ce que contient la page ; HTTP dit comment elle voyage.

HTTP ne travaille pas seul. Il est construit sur TCP, un protocole de transport en mode connecté.2 Cela signifie que le client et le serveur commencent par établir une connexion, puis échangent leurs messages à l'intérieur de cette connexion. Plus largement, le Web est un ensemble de logiciels et de protocoles basés sur TCP/IP.1 On peut se représenter l'ensemble comme des couches : TCP/IP s'occupe de faire circuler les données d'une machine à l'autre, HTTP donne un sens aux messages échangés entre un navigateur et un serveur.

Retrouver le serveur : adresse, DNS et port

Avant d'envoyer une requête, le navigateur doit savoir où est le serveur et à quelle porte frapper. Deux informations sont nécessaires, et toutes deux se déduisent de l'adresse que tu saisis.

Le DNS joue le rôle d'un annuaire : tu connais le nom d'un site, le DNS permet de retrouver la machine qui l'héberge.2 Sans lui, il faudrait retenir une suite de chiffres pour chaque site.

Le port n'est pas choisi au hasard : il se déduit du protocole. Par exemple, le port 80 correspond à HTTP et le port 21 à FTP.2 Pour HTTP, un serveur Web attend les connexions sur le port 80 par défaut.1 Les clients et serveurs utilisent en général des sockets, avec le port 80 côté serveur par défaut.2

Protocoles et ports par défaut
ProtocolePort par défaut
HTTP80
FTP21
Protocoles et ports par défaut · Le port se déduit du protocole.

Suivre un échange complet

Rassemblons tout ce que nous avons vu. Tu saisis une adresse dans la barre de ton navigateur et tu valides. Voici ce qui se passe, dans l'ordre.

Le cycle requête-réponseÉtapes successives allant de la saisie de l'adresse à l'affichage de la page.1Adresse saisieLe client reçoit l'adresse du site.2LocalisationLe DNS donne le serveur, le protocole le port.3Connexion TCPClient et serveur ouvrent la connexion.4RequêteLe client demande la page au serveur.5RéponseLe serveur renvoie la page, le client l'affiche.
  1. Adresse saisieLe client reçoit l'adresse du site.
  2. LocalisationLe DNS donne le serveur, le protocole le port.
  3. Connexion TCPClient et serveur ouvrent la connexion.
  4. RequêteLe client demande la page au serveur.
  5. RéponseLe serveur renvoie la page, le client l'affiche.
Le cycle requête-réponse

Remarque que chaque échange est une paire : une requête, une réponse. Le serveur ne garde pas l'initiative. Si tu veux une autre page, ton navigateur doit émettre une nouvelle requête, et le serveur y répondra à nouveau.

Pages statiques, pages dynamiques et AJAX

Jusqu'ici, nous avons supposé que le serveur renvoie un fichier tel quel. C'est le cas d'une page statique. Mais un serveur peut aussi fabriquer la page au moment de la demande : c'est une page dynamique. Les systèmes embarqués eux-mêmes ont besoin de pages Web statiques et dynamiques.3

Le serveur peut aussi effectuer des réécritures d'adresses : il transforme l'adresse demandée en une autre adresse interne avant de calculer la réponse.1 Pour le visiteur, cela reste invisible.

C'est ici que ton cours sur JavaScript retrouve son sens : le code exécuté chez le client, c'est celui que tu as appris à écrire pour réagir aux événements de la page. Avec AJAX, ce code peut demander des données au serveur sans que toute la page soit rechargée, puis ne mettre à jour qu'une partie de ce qui est affiché.

Un protocole sans état : sessions et cookies

Dans le cycle requête-réponse, chaque échange est indépendant du précédent. Que se passe-t-il alors quand tu te connectes à un site, puis changes de page ? Le serveur doit pourtant se souvenir que c'est toi.

Les versions du protocole ont aussi leur importance. Avec HTTP 1.1, une même connexion peut servir à une série de requêtes successives entre un client et un serveur, mais il reste possible de fonctionner en mode HTTP 1.0.2 Un serveur très simple peut choisir HTTP 1.0, plus simple à implémenter que HTTP 1.1.3

Serveurs concurrents et ressources limitées

Un serveur Web n'a pas un seul client à servir. Quand un site est populaire, des milliers de navigateurs envoient leurs requêtes en même temps. Comment un serveur s'en sort-il ?

Ce n'est pas anodin. Un navigateur peut ouvrir plusieurs connexions vers un même serveur : certaines versions de Firefox, par exemple, pouvaient en ouvrir jusqu'à 15 par serveur.3 Si chaque visiteur en ouvre autant, le nombre de connexions que le serveur doit gérer se multiplie vite. Un serveur doit donc être capable de gérer plusieurs clients à la fois.3

À l'inverse, les applications Web modernes sont de plus en plus gourmandes en ressources, du côté des serveurs comme de celui des clients.3 D'où l'intérêt d'AJAX, vu plus haut : répartir le travail soulage le serveur.3

Carte du chapitreCarte mentale reliant client-serveur, HTTP, port, cookies et AJAX.ClientServeurRequête-réponseRôlesSur TCPSans étatHTTPDNSPort 80AdresseURLAJAXCookiesDynamiqueClient-serveur

Client-serveur

  • Rôles
    • Client
    • Serveur
    • Requête-réponse
  • HTTP
    • Sur TCP
    • Sans état
  • Adresse
    • DNS
    • Port 80
  • Dynamique
    • URL
    • AJAX
    • Cookies
Carte du chapitre

Exercices corrigés

Exercice 1 Compter les connexions d'un navigateur

★☆☆Environ 5 min

Un navigateur peut ouvrir au maximum 15 connexions vers un même serveur. Une page d'un site de lycée charge des éléments provenant de 4 serveurs différents. Quel est le nombre maximal de connexions que le navigateur peut ouvrir en même temps pour afficher cette page ?

Indice 1

Le maximum de 15 s'applique à chaque serveur séparément.

Indice 2

Il suffit de répéter ce maximum pour chaque serveur.

Voir la correction pas à pas
  1. On repère la donnée : 15 connexions au plus par serveur.

  2. On repère le nombre de serveurs concernés : 4.

  3. Le maximum s'applique serveur par serveur, donc on multiplie : 15×4=6015 \times 4 = 60.

  4. Le navigateur ouvre donc au plus 60 connexions simultanées.

Le nombre de connexions croît vite avec le nombre de serveurs ; c'est une des raisons pour lesquelles un serveur doit pouvoir servir plusieurs clients à la fois.

Exercice 2 Requêtes et réponses pour une page

★★☆Environ 8 min

Une page d'accueil se compose d'un document HTML et de 12 autres éléments (images, feuilles de style, scripts). On suppose que chaque élément, y compris le document HTML, est obtenu par une requête suivie d'une réponse, et que le client prend l'initiative de toutes les requêtes. Combien de messages (requêtes et réponses) sont échangés au total pour afficher entièrement la page ?

Indice 1

Compte d'abord le nombre d'éléments à obtenir, sans oublier le document HTML.

Indice 2

Chaque élément donne deux messages : une requête et une réponse.

Voir la correction pas à pas
  1. Le nombre d'éléments à obtenir est 1+12=131 + 12 = 13.

  2. Chaque élément nécessite une requête et une réponse, soit 2 messages.

  3. Le total est 2×13=262 \times 13 = 26 messages.

  4. Sur ces 26 messages, 13 sont des requêtes envoyées par le client et 13 des réponses envoyées par le serveur.

Même une page simple provoque de nombreux échanges. Cette observation explique l'intérêt de limiter ce que le serveur doit envoyer, par exemple avec AJAX.

Exercice 3 Quel service reçoit la connexion ?

★★☆Environ 8 min

Une même machine héberge un serveur Web et un service de transfert de fichiers (FTP). Un élève saisit une adresse dans son navigateur avec le protocole HTTP. Explique, en une dizaine de lignes, comment la connexion arrive au bon logiciel : tu dois citer le rôle du DNS, celui du port, et dire quel numéro de port est utilisé par défaut pour HTTP et pour FTP.

Indice 1

Distingue ce qui désigne la machine de ce qui désigne le service.

Indice 2

Souviens-toi que le port se déduit du protocole.

Voir la correction pas à pas
  1. Le navigateur, qui est le client, doit d'abord localiser la machine : il utilise le DNS pour retrouver le serveur à partir de son nom.

  2. Il détermine ensuite le port : pour le protocole HTTP, le port par défaut est le 80 ; il se déduit du protocole.

  3. La connexion TCP est établie vers la machine, sur le port 80.

  4. Le service FTP, lui, correspond au port 21 : il n'est donc pas concerné par cette connexion.

  5. Le logiciel de serveur Web qui écoute sur le port 80 reçoit la requête et renvoie la page demandée.

La machine est désignée par l'adresse obtenue grâce au DNS, le service par le port. C'est ce couple qui permet à plusieurs services de cohabiter sur une même machine.

Exercice 4 Pourquoi le panier se vide-t-il ?

★★★Environ 10 min

Un développeur crée une boutique en ligne simple. Quand un visiteur ajoute un article, puis ouvre la page suivante, son panier est vide. Le développeur affirme : « HTTP aurait dû se souvenir de lui. » Corrige cette affirmation et explique ce qu'il doit mettre en place côté serveur.

Indice 1

Rappelle-toi si HTTP conserve la mémoire d'une requête à la suivante.

Indice 2

Pense au mécanisme qui construit une session au-dessus de HTTP.

Voir la correction pas à pas
  1. On rappelle que HTTP est un protocole sans état : deux requêtes successives sont indépendantes l'une de l'autre.

  2. L'affirmation du développeur est donc fausse : ce n'est pas le rôle de HTTP de se souvenir du visiteur.

  3. Pour reconnaître un visiteur d'une requête à l'autre, l'application serveur doit mettre en place une session.

  4. Le mécanisme de cookies permet justement à l'application serveur de construire cette session au-dessus de HTTP.

  5. Avec les cookies, le serveur relie les requêtes successives du même visiteur et retrouve son panier.

La mémoire d'un site vient de l'application serveur et des cookies, pas du protocole HTTP lui-même, qui reste sans état.

Quiz

8 questions · correction immédiate · ton score reste sur ton appareil.

  1. Dans le modèle client-serveur du Web, qui est le client ?

  2. Quel est le port utilisé par défaut par un serveur Web pour le protocole HTTP ?

  3. Sur quel protocole de transport HTTP est-il construit ?

  4. Le protocole HTTP est un protocole sans état. Vrai ou faux : c'est HTTP lui-même qui mémorise la session d'un utilisateur connecté.

  5. Quelles informations le client doit-il connaître pour joindre un serveur ? (plusieurs réponses)

    Plusieurs réponses possibles.

  6. Que permet de faire un serveur lorsqu'il reçoit des paramètres dans l'URL ?

  7. Un navigateur peut ouvrir jusqu'à 15 connexions par serveur. Il consulte une page qui utilise 3 serveurs. Combien de connexions au maximum peut-il ouvrir ?

  8. Quel est l'objectif d'AJAX ?

Les questions qu'on se pose

Quelle est la différence entre le client et le serveur ?

Le client (le navigateur) demande une page et en assure le rendu ; le serveur stocke les pages et les envoie.1 C'est le client qui commence l'échange en envoyant sa requête, le serveur répond.1 Ce sont deux rôles, pas deux types de machines figés.

À quoi sert le port ?

Plusieurs services peuvent être actifs sur la même machine, le port indique à quel service la connexion est destinée.1 Pour HTTP, le port par défaut est le 80.12

Pourquoi dit-on que HTTP est « sans état » ?

Parce que le protocole, à lui seul, ne relie pas deux requêtes successives. Pour qu'un site reconnaisse un visiteur d'une page à l'autre, l'application serveur utilise le mécanisme de cookies, qui ajoute une notion de session au-dessus de HTTP.2

Est-ce que tout ce qui s'affiche est stocké sur mon ordinateur ?

Non. Les pages sont stockées sur le serveur et envoyées au client, qui se charge de leur rendu.1 Pour obtenir une autre page, ton navigateur envoie une nouvelle requête.

Un serveur peut-il répondre à plusieurs personnes en même temps ?

Oui : un serveur concurrent peut servir de nombreux clients simultanément.2 C'est nécessaire, car un navigateur peut déjà ouvrir plusieurs connexions vers le même serveur.3

Sources

  1. Cours DIU NSI - Protocole HTTP et interactions Web, CNRS. Consulté le 6 novembre 2026.
  2. Cours Web et réseaux - Domaine et protocoles, Université Grenoble Alpes. Consulté le 6 novembre 2026.
  3. Serveur web embarqué, Wikipédia. Consulté le 6 novembre 2026.

Les numéros dans le texte renvoient à ces sources. Une source qui ne dit pas ce qu'on lui fait dire ? Signale-le.

Signaler une erreur sur cette page

Je suis en…

Primaire

  • CP Bientôt
  • CE1 Bientôt
  • CE2 Bientôt
  • CM1 Bientôt
  • CM2 Bientôt

Collège

Lycée

Supérieur

  • BTS Bientôt
  • BUT Bientôt
  • Licence Bientôt
  • Prépas Bientôt

Sur cette page