Es una arquitectura de software que se utiliza para distribuir la carga de trabajo entre dos tipos de procesos: el cliente, que solicita recursos o servicios, y el servidor, que proporciona esos recursos o servicios
Este modelo permite una separación clara de responsabilidades y promueve la escalabilidad y la modularidad en el diseño de sistemas distribuidos.
Un ejemplo práctico de la utilidad del patrón cliente-servidor es una aplicación de correo electrónico, como Gmail.