p>Na Informática, cliente-servidor é um modelo de arquitectura de software constituído por duas partes, sistemas clientes e sistemas servidores, ambos comunicando através de uma rede informática ou no mesmo computador. Uma aplicação cliente-servidor é um sistema distribuído composto tanto por software cliente como por software servidor. A aplicação cliente-servidor proporciona uma melhor forma de partilhar a carga de trabalho. O processo cliente inicia sempre uma ligação ao servidor, enquanto o processo servidor espera sempre por pedidos de qualquer cliente.
Quando tanto o processo cliente como o processo servidor estão a correr no mesmo computador, chama-se a isto uma configuração de assento único.
Um outro tipo de arquitectura de software relacionado é conhecido como peer-to-peer, porque cada anfitrião ou instância de aplicação pode agir simultaneamente como cliente e servidor (ao contrário dos servidores centralizados do modelo cliente-servidor) e porque cada um tem responsabilidades e estado equivalentes. As arquitecturas peer-to-peer são frequentemente abreviadas usando a sigla P2P.
A relação cliente-servidor descreve a relação entre o cliente e como faz um pedido de serviço ao servidor, e como o servidor pode aceitar esses pedidos, processá-los, e devolver a informação solicitada ao cliente. A interacção entre cliente e servidor é muitas vezes descrita utilizando diagramas de sequência. Os diagramas de sequência são padronizados na Unified Modeling Language.
Todas as arquitecturas cliente-servidor e P2P são hoje largamente utilizadas.
O tipo básico de arquitectura de software cliente-servidor emprega apenas dois tipos de anfitriões: clientes e servidores. Este tipo de arquitectura é por vezes referido como de dois níveis. A arquitectura de dois níveis significa que o cliente actua como um nível e o processo servidor actua como o outro nível.
A arquitectura de software cliente-servidor tornou-se um dos modelos básicos da computação em rede. Muitos tipos de aplicações têm sido escritos utilizando o modelo cliente-servidor. Funções padrão de rede como a troca de correio electrónico, acesso web e acesso a bases de dados, baseiam-se no modelo cliente-servidor. Por exemplo, um navegador web é um programa cliente no computador do utilizador que pode aceder à informação em qualquer servidor web do mundo.