O processo cliente-servidor
Processo
O cliente abre a comunicação. Um servidor nunca contata outros computadores. Se nenhum cliente entrar em contato com o servidor, ele apenas escutará e aguardará solicitações de entrada. O primeiro contato cliente-servidor é chamado de solicitação, enquanto a resposta do servidor é chamada de resposta.
Segurança
A natureza dos diferentes comportamentos de clientes e servidores permite que medidas de segurança protejam melhor o cliente. Como o cliente nunca recebe uma conexão de entrada não solicitada, o firewall desse computador pode bloquear qualquer comunicação de entrada, a menos que seja uma resposta a uma solicitação já enviada pelo cliente. Os servidores apenas aguardam por conexões de entrada e não funcionarão se estiverem bloqueados. Outras medidas de segurança, principalmente servidores proxy, protegem os servidores.
Tráfego
A comunicação cliente-servidor geralmente gera mais tráfego do servidor para o cliente do que do cliente para o servidor. Isso ocorre porque o contato cliente-servidor geralmente é uma solicitação simples. A resposta de servidor para cliente pode conter uma grande quantidade de dados. Um exemplo disso é o processo de acessar uma página da web. O cliente, neste caso, é o navegador da Web no computador do usuário. Quando o usuário digita um endereço da Web, o navegador pesquisa o endereço IP do domínio da Web no endereço, que é o site, e envia uma solicitação para obter a página específica no endereço para o servidor da Web desse endereço IP. O servidor da web retorna a página, que contém muito mais informações do que a solicitação inicial do cliente. Esta é a razão pela qual os provedores de serviços de Internet têm muito mais largura de banda disponível para seus clientes para download do que para carga. A solicitação está no endereço de carregamento e a resposta está no endereço de download.
Cliente-servidor multinível
A solicitação de um cliente pode exigir a entrada de vários servidores. Isso é conhecido como arquitetura cliente-servidor de várias camadas. Um exemplo disso é quando um cliente entra em contato com um servidor de aplicativos. O servidor de aplicativos disponibiliza o aplicativo para o cliente e o cliente solicita um arquivo de outro servidor por meio desse aplicativo. O servidor que contém o arquivo pode ser protegido por um servidor proxy, que responde à solicitação consultando o servidor de arquivos. O arquivo em si pode conter elementos dinâmicos que exigem referência a um banco de dados para preparar o arquivo antes que ele possa ser entregue. O acesso ao banco de dados requer contato com outro servidor. Portanto, muitos servidores trabalham para atender a solicitação de um cliente.