Una conexión cliente-servidor es una conexión entre dos o más sistemas en los que uno actúa como servidor y los otros como cliente. Por lo general, esto se hace para permitir que la información sea accesible para múltiples usuarios en una red grande. Estas conexiones se pueden utilizar a pequeña escala, como para redes comerciales locales, o para redes a gran escala, como las que se utilizan en los juegos en línea o en los sitios de redes sociales. Una conexión cliente-servidor puede ser directa, entre dos máquinas, o puede ser indirecta e involucrar varias capas de sistemas interconectados.
La conexión cliente-servidor es uno de los aspectos más importantes de cualquier diseño de sistema cliente-servidor, y puede ser una conexión física o una conexión de larga distancia a través de múltiples relés. En general, sin embargo, esta conexión consiste básicamente en cualquier forma en que dos o más sistemas separados, el cliente y el servidor, puedan comunicarse para transmitir datos. La conexión cliente-servidor puede ser bastante simple, como una máquina que actúa como servidor conectado a otra máquina a través de una conexión física, como un cable Ethernet, o más complicada, como un servidor conectado a miles de usuarios a través de Internet.
Una simple conexión cliente-servidor puede ser una conexión física entre un solo servidor y uno o varios clientes. El servidor actúa como el sistema en el que se pueden almacenar datos, al que se pueden conectar una o más máquinas cliente. Las máquinas cliente pueden utilizarse individualmente y sin la información necesaria en el servidor, aunque pueden acceder a los datos almacenados en el servidor. Cuando un cliente envía una solicitud de servidor, el servidor responde enviando los datos solicitados a través de esa conexión al cliente.
Se pueden crear redes complicadas en las que esta conexión cliente-servidor se repita cientos o miles de veces. Un sitio web de redes sociales importante o un servicio de juegos en línea puede proporcionar a miles o cientos de miles de clientes conexiones a un servidor. A continuación, se pueden utilizar varios servidores para aumentar la cantidad de usuarios que pueden conectarse como clientes, de modo que millones de clientes puedan conectarse a estos distintos servidores para acceder a la información. Los sistemas de varios niveles se crean a menudo para reducir la tensión en los servidores, proporcionando sistemas entre el cliente y el servidor que pueden manejar ciertas solicitudes o actuar para «dirigir el tráfico» para el servidor. Una conexión cliente-servidor contrasta con las conexiones de igual a igual en las que los clientes individuales se conectan entre sí, en lugar de un servidor, para compartir datos.