A popularidade da rede cliente-servidor cresceu durante a década de 1990, à medida que os computadores pessoais se tornaram a alternativa aos computadores mainframe. Rede cliente-servidor refere-se a um modelo de rede de computador que usa dispositivos de hardware cliente e servidores, cada um com funções específicas. O modelo cliente-servidor pode ser usado na Internet e também em uma rede local (LAN). Exemplos de sistemas cliente-servidor na Internet incluem navegadores e servidores web, clientes e servidores FTP e o DNS.
Hardware de cliente e servidor
Dispositivos clientes são normalmente PCs com aplicativos de software de rede instalados que solicitam e recebem informações pela rede. Além disso, os dispositivos móveis funcionam como clientes. Os servidores armazenam arquivos e bancos de dados, incluindo aplicativos e sites complexos. Os servidores geralmente apresentam processadores centrais de maior potência, mais memória e unidades de disco maiores do que os dispositivos clientes.
Aplicativos cliente-servidor
O modelo cliente-servidor organiza o tráfego de rede usando um aplicativo cliente e dispositivos clientes. Os clientes da rede enviam mensagens a um servidor para fazer solicitações a ele. Os servidores respondem aos clientes agindo em cada solicitação e retornando os resultados. Um servidor oferece suporte a muitos clientes e vários servidores podem ser conectados em rede em um pool de servidores para lidar com o aumento das cargas de processamento conforme o número de clientes aumenta. Um computador cliente e um computador servidor são duas unidades separadas de hardware, cada uma personalizada para um propósito específico. Por exemplo, um cliente da web funciona melhor com uma tela grande, enquanto um servidor da web não precisa de uma tela e pode estar localizado em qualquer lugar do mundo. Em alguns casos, entretanto, um determinado dispositivo pode funcionar tanto como cliente quanto como servidor para o mesmo aplicativo. Além disso, um dispositivo que é um servidor para um aplicativo pode atuar simultaneamente como um cliente para outros servidores para diferentes aplicativos. Alguns dos aplicativos mais populares da Internet seguem o modelo cliente-servidor, incluindo e-mail, FTP e serviços da web. Cada um desses clientes apresenta uma interface de usuário gráfica ou baseada em texto e um aplicativo cliente que conecta o cliente ao servidor. No caso de e-mail e FTP, os usuários inserem um nome de computador (ou um endereço IP) na interface para configurar uma conexão com o servidor.
Redes locais cliente-servidor
Muitas redes domésticas usam sistemas cliente-servidor em pequena escala. Os roteadores de banda larga, por exemplo, contêm servidores DHCP que fornecem endereços IP aos computadores domésticos, os clientes DHCP. Outros tipos de servidores de rede encontrados em uma casa incluem servidores de impressão e servidores de backup.
Cliente-servidor vs. ponto a ponto e outros modelos
O modelo cliente-servidor de rede foi desenvolvido inicialmente para compartilhar o acesso a aplicativos de banco de dados com muitos usuários. Em comparação com o modelo de mainframe, a rede cliente-servidor tem melhor flexibilidade porque as conexões podem ser feitas sob demanda e conforme necessário, em vez de serem corrigidas. O modelo cliente-servidor oferece suporte a aplicativos modulares que podem tornar o trabalho de criação de software mais fácil. Nos tipos de sistemas cliente-servidor de duas e três camadas, os aplicativos de software são separados em componentes modulares e cada componente é instalado em clientes ou servidores especializados para esse subsistema. A rede cliente-servidor é uma abordagem para gerenciar aplicativos de rede. A principal alternativa à rede cliente-servidor, a rede ponto a ponto, trata todos os dispositivos como tendo capacidade equivalente, em vez de funções de cliente ou servidor especializadas. Em comparação com as redes cliente-servidor, as redes ponto a ponto oferecem vantagens, como flexibilidade na expansão da rede para lidar com um grande número de clientes. As redes cliente-servidor oferecem vantagens sobre as redes ponto a ponto, como a capacidade de gerenciar aplicativos e dados em um local centralizado.