Le principe client-serveur☘
En bref☘
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.
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.
Plus en détails☘
L'environnement client–serveur désigne un mode de communication à travers un réseau entre plusieurs programmes:
- l'un, qualifié de client, envoie des requêtes;
- l'autre (ou les autres), qualifiés de serveurs, attendent les requêtes des clients et y répondent.
Par extension, le client désigne également l'ordinateur ou la machine virtuelle sur lequel est exécuté le logiciel client. De même le serveur désigne par extension l'ordinateur ou la machine virtuelle sur lequel est exécuté le logiciel serveur.
Les serveurs sont des ordinateurs généralement destinés au logiciel serveur qu'ils abritent. Ils sont en général dotés de capacités supérieures à celles des ordinateurs personnels en ce qui concerne la puissance de calcul, les entrées-sorties et les connexions réseau: un serveur doit en effet pouvoir répondre aux requêtes d'un grand nombre de clients.
Les clients sont souvent des ordinateurs personnels ou des appareils individuels (téléphone, tablette).
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 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 suivant le protocole prévu par la couche application.
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.