Le protocole client–serveur désigne un mode de transmission d'information (souvent à travers un réseau) entre plusieurs programmes ou processus : l'un, qualifié de client, envoie des requêtes ; l'autre, qualifié de serveur, attend les requêtes des clients et y répond.
Le serveur offre ici un service au client. Par extension :
- Le client désigne souvent la machine sur laquelle est exécuté le logiciel client.
- Le serveur, l'ordinateur sur lequel est exécuté le logiciel serveur.
Les machines serveurs ont généralement des capacités supérieures à celles des ordinateurs afin de pouvoir répondre de manière efficace à un grand nombre de clients.
Les clients sont souvent des machines individuelles (téléphone, tablette), mais pas systématiquement.