Un servidor ofrece servicios a usuarios de Internet mientras que un cliente solicita esos servicios. Una aplicación típicamente consta de componentes de cliente y servidor que pueden ejecutarse en sistemas separados o el mismo sistema. Los clientes manejan interfaces de usuario y procesan datos locales mientras que los servidores aceptan solicitudes de bases de datos, procesan lógica comercial y validan datos. La arquitectura cliente-servidor ofrece ventajas como recursos centralizados, seguridad mejorada y escalabilidad de red.