Aller au contenu

Le principe client-serveur

La navigation sur le web se fait suivant le modèle client-serveur :

  • le client effectue des requêtes.
  • le serveur répond à ces requêtes.

Exemple

Lorsque vous naviguez sur internet :

  • le client est votre navigateur ;
  • le serveur est un logiciel qui tourne sur un ordinateur en général dédié à cela.

Définition

On désigne par environnement client–serveur un mode de communication à travers un réseau entre plusieurs programmes :

  • l'un envoie des requêtes (on l'appelle « client ») ;
  • l'autre (ou les autres) attendent les requêtes des clients et y répondent (on les appelle « serveurs »).

Le serveur

De manière générale, on appelle serveur un ordinateur dédié au logiciel serveur qu'il abrite. Ce logiciel reçoit les requêtes des clients puis est exécuté sur l'ordinateur dédié.

Un serveur doit pouvoir répondre aux requêtes d'un grand nombre de clients donc ces ordinateurs sont le plus souvent dotés de capacités supérieures à celles des ordinateurs personnels :

  • plus grande puissance de calcul ;
  • gestion améliorée des entrées-sorties ;
  • davantage de connexions réseau.

Exemples

Il existe une grande variété de logiciels serveurs et de logiciels clients en fonction des besoins à servir :

  • un serveur Web publie des pages Web demandées par des navigateurs Web ;
  • un serveur de messagerie électronique envoie du courriel à des clients de messagerie ;
  • un serveur de fichiers permet de partager des fichiers sur un réseau ;
  • un serveur de base de données permet de récupérer des données stockées dans une base de données ;
  • etc...

Caractéristiques d'un programme serveur :

  • il attend (« écoute ») une connexion entrante sur un ou plusieurs ports réseaux locaux ;
  • à la connexion d'un client sur le port en écoute, il ouvre un socket local au système d'exploitation ;
  • à la suite de la connexion, le processus serveur communique avec le client selon le protocole prévu par la couche application.

Le client

Par extension, le mot « client » désigne à la fois le logiciel qui émet une requête vers un serveur et l'ordinateur (ou la machine virtuelle) sur lequel est exécuté ce logiciel.

Les clients sont souvent des ordinateurs personnels ou des appareils individuels (téléphone, tablette, objets connectés, ...).

Caractéristiques d'un programme client :

  • il établit la connexion au serveur à destination d'un ou plusieurs ports réseaux ;
  • lorsque la connexion est acceptée par le serveur, il communique comme le prévoit la couche application utilisée.