Un client-serveur est une connexion entre deux ou plusieurs systèmes dans lesquels un agit en tant que serveur et les autres agissent en tant que client. Cela se fait généralement à permettre à l'information d'être accessible à plusieurs utilisateurs sur un réseau. Ces connexions peuvent être utilisées sur une petite échelle, comme pour les réseaux d'entreprises locales, ou pour les réseaux de grande envergure tels que ceux utilisés dans les jeux en ligne ou des sites de réseautage social. Une connexion client-serveur peut être directe, entre deux machines, ou peut être indirecte et impliquer plusieurs couches de systèmes interconnectés.
La connexion client-serveur est l'un des aspects les plus importants de toute la conception du système client-serveur, et cela peut être une connexion physique ou une connexion longue distance à travers plusieurs relais. En général, cependant, cette liaison se compose essentiellement de n'importe quelle manière, dans lequel deux ou plusieurs systèmes séparés, le client et le serveur, sont capables de communiquer à transmettre des données. La connexion client-serveur peut être très simple, comme un acteur de la machine en tant que serveur connecté à un autre appareil via une connexion physique, telle qu'un Ethernet câblée, ou plus complexe, par exemple un serveur connecté à des milliers d'utilisateurs par le biais de l'Internet.
Une simple connexion client-serveur peut être une connexion physique entre un serveur et un ou quelques clients. Le serveur agit comme le système sur lequel des données peuvent être stockées, dans laquelle une ou plusieurs machines clients peuvent être connectées. Les machines clientes peuvent être utilisées individuellement et sans les informations nécessaires sur le serveur, même si elles sont en mesure d'accéder aux données conservées sur le serveur. Quand une demande de serveur est envoyée par un client, le serveur répond en envoyant les données demandées par cette connexion au client.
Les réseaux complexes peuvent être créés dans lequel cette connexion client-serveur est répété des centaines ou des milliers de fois. Un site de réseautage social majeur ou d'un service de jeu en ligne peuvent fournir des milliers ou des centaines de milliers de clients avec des connexions à un serveur. Plusieurs serveurs peuvent ensuite être utilisés pour augmenter le nombre d'utilisateurs pouvant être connectés en tant que clients, de sorte que des millions de clients peuvent être connectés à ces différents serveurs d'accès de l'information. Systèmes à plusieurs niveaux sont souvent créés pour réduire la pression sur les serveurs, fournissant des systèmes entre le client et le serveur qui peut gérer certaines demandes ou agir pour "trafic direct" pour le serveur. Une connexion client-serveur est en contraste avec les peer-to-peer connexions dans lesquelles les clients individuels se connectent les uns aux autres, au lieu d'un serveur, de partager des données.