# Servidor

Em informática, um servidor é um software ou computador, com sistema de computação centralizada que fornece serviços a uma rede de computadores, chamada de cliente.
Esses serviços podem ser de naturezas distintas, como por exemplo, arquivos e correio eletrônico.
Esta arquitetura é chamada de modelo cliente-servidor, é utilizada em redes de médio e grande porte (com muitas máquinas) e em redes onde a questão da segurança desempenha um papel de grande importância. O termo servidor é amplamente aplicado a computadores completos, embora um servidor possa equivaler a um software ou a partes de um sistema computacional, ou até mesmo a uma máquina que não seja necessariamente um computador.
Os servidores podem fornecer várias funcionalidades, muitas vezes chamado de "serviços", tais como a partilha de dados ou de recursos do sistema entre vários clientes, ou computação desempenho para um cliente. Um único servidor pode servir vários clientes, e um único cliente pode usar vários servidores. Um processo cliente pode ser executado no mesmo dispositivo ou pode se conectar através de uma rede para um servidor em um dispositivo diferente.

## História

O uso do termo servidor na Informática começou com a Teoria das filas, que remonta a meados do século XX, sendo nomeadamente utilizada na Kendall (1953) (junto com "serviço"), o papel que introduziu notação de Kendall. Em trabalhos anteriores, como a Erlang ( 1909), termos mais concretos, como "[de telefone] operadores" são usados.
Em informática, servidores de dados, pelo menos, a RFC 5 (1969), um dos primeiros documentos que descrevem ARPANET (o antecessor do Internet) e é contrastada com "usuário", distinguindo dois tipos de série: "server-host" e "user-host". O uso de "servir" também data para documentos antigos, tais como RFC 4 contrastando "servidor-host" com "utilizador-host".
A história dos servidores tem, obviamente, a ver com as redes de computadores. Redes permitiam a comunicação entre diversos computadores, e, com o crescimento destas, surgiu a ideia de dedicar alguns computadores para prestar algum serviço à rede, enquanto outros se utilizariam destes serviços. Os servidores ficariam responsáveis pela primeira função.
Com o advento das redes, foi crescendo a necessidade das redes terem servidores e minicomputadores, o que acabou contribuindo para a diminuição do uso dos mainframes.
O crescimento das empresas de redes e o crescimento do uso da Internet entre profissionais e usuários comuns foi o grande impulso para o desenvolvimento e aperfeiçoamento de tecnologias para servidores.

## Tipos de servidores

Existem diversos tipos de servidores. Os mais conhecidos são:
* Servidor de Fax: Servidor para transmissão e recepção automatizada de fax pela Internet, disponibilizando também a capacidade de enviar, receber e distribuir fax em todas as estações da internet.
* Servidor de arquivos: Servidor que armazena arquivos de diversos usuários.
* Servidor web: Servidor responsável pelo armazenamento de páginas de um determinado site, requisitados pelos clientes através de browsers.
* Servidor de e-mail: Servidor publicitário responsável pelo armazenamento, envio e recebimento de mensagens de correio eletrônico.
* Servidor de impressão: Servidor responsável por controlar pedidos de impressão de arquivos dos diversos clientes.
* Servidor de banco de dados: Servidor que possui e manipula informações contidas em um banco de dados
* Servidor DNS: Servidores responsáveis pela conversão de endereços de sites em endereços IP e vice-versa.
* Servidor proxy: Servidor que atua como um cache, armazenando páginas da internet recém-visitadas, aumentando a velocidade de carregamento destas páginas ao chamá-las novamente.
* Servidor de imagens: Tipo especial de servidor de banco de dados, especializado em armazenar imagens digitais.
* Servidor FTP: Permite acesso de outros usuários a um disco rígido ou servidor. Esse tipo de servidor armazena arquivos para dar acesso a eles pela internet.
* Servidor webmail: servidor para criar emails na web.
* Servidor de virtualização: permite a criação de máquinas virtuais (servidores isolados no mesmo equipamento) mais conhecidas como VPS que servem para hospedagem de aplicações, mediante compartilhamento de hardware, significa que, aumentar a eficiência energética, sem prejudicar as aplicações e sem risco de conflitos de uma consolidação real.
* Servidor de sistema operacional: permite compartilhar o sistema operacional de uma máquina com outras, interligadas na mesma rede, sem que essas precisem ter um sistema operacional instalado, nem mesmo um HD próprio.
* Servidor de Aplicações (em inglês Applications Server), é um servidor que disponibiliza um ambiente para a instalação e execução de certas aplicações, centralizando e dispensando a instalação nos computadores clientes. Os servidores de aplicação também são conhecidos por middleware.
Os clientes e os servidores comunicam através de protocolos, assim como dois ou mais computadores de redes.
Um computador, ocasionalmente, pode prover mais de um serviço simultaneamente. Pode existir em uma rede, um computador que atue como um servidor web e servidor de banco de dados, por exemplo; ou um computador pode atuar como servidor de arquivos, de correio eletrônico e proxy ao mesmo tempo. Computadores que atuem como um único tipo de servidor é chamado de servidor dedicado. Os servidores dedicados possuem a vantagem de atender a uma requisição de um cliente mais rapidamente.
Com exceção do servidor de banco de dados (um tipo de servidor de aplicação), os demais servidores apenas armazenam informações, ficando por conta do cliente o processamento das informações. No servidor de aplicações, os papéis se invertem, com o cliente recebendo o resultado do processamento de dados da máquina servidora.
Em uma rede heterogênea (com diversos hardwares e softwares) um cliente também pode ser um servidor e assim um servidor pode ser "cliente do cliente" tal como "servidor do servidor". Por exemplo, uma rede tem um servidor de impressão e um de arquivos, supondo que você está no servidor de arquivos e necessita imprimir uma folha de um documento que você está escrevendo, quando você mandar imprimir a folha o serviço do servidor de impressão será utilizado, e assim a máquina que você está usando, que é o servidor de arquivos, está sendo cliente do servidor de impressão, pois está utilizando de seu serviço.

## Hardware e software de servidores
### Hardware

Servidores dedicados, que possuem uma alta requisição de dados por partes dos clientes e que atuam em aplicações críticas utilizam hardware específico para servidores. Já servidores que não possuam essas atuações podem utilizar hardware de um computador comum.
Para começar, muitos servidores baseiam-se em entradas e saídas de informações (principalmente gravações e deleções de arquivos), o que implica interfaces de entrada e saída e discos rígidos de alto desempenho e confiabilidade. O tipo de disco rígido mais utilizado possui o padrão SCSI, que permite a interligação de vários periféricos, dispostos em arranjos RAID.
Devido a operar com muitas entradas e saídas de informações, os servidores necessitam de processadores de alta velocidade, algumas vezes alguns servidores são multi-processados, ou seja, possuem mais de um processador. Servidores também tem disponível uma grande quantidade de memória RAM, sendo geralmente usada para caching de dados.
Por ter que operar por muito tempo (frequentemente de maneira interrupta), alguns servidores são ligados a geradores elétricos. Outros utilizam sistemas de alimentação (por exemplo, o UPS) que continuam a alimentar o servidor caso haja alguma queda de tensão.
E, por operar durante longos intervalos de tempo, e devido à existência de um ou mais processadores de alta velocidade, os servidores precisam de um eficiente sistema de dissipação de calor, o que implica coolers mais caros, mais barulhentos, porém de maior eficiência e confiabilidade.
Existem outros hardwares específicos para servidor, especialmente placas, do tipo hot swapping, que permite a troca destes enquanto o computador está ligado, o que é primordial para que a rede continue a operar.
Discute-se muito sobre a utilização ou não de um micro comum, o popular Personal Computer (PC), como servidor e a necessidade de ou não de se adquirir um equipamento mais robusto para atuar como servidor. A resposta a essa questão depende da utilização do equipamento e da "criticidade" do serviço que o servidor está executando. Em uma estrutura não crítica, um computador comum pode ser usado como servidor. Note que o tamanho da rede não importa; por exemplo: uma empresa com três instrutores on-line na Internet tem 3 computadores e um deles é o servidor de acesso à Internet. Se este servidor falha o negócio da empresa está parado. $^[$
Prevendo esse tipo de necessidade, os fabricantes de componentes de computadores desenvolvem placas mais robustas, aplicam uma engenharia mais elaborada de ventilação, redundância de itens e capacidade de expansão ampliada, para que o servidor possa garantir a disponibilidade do serviço e a confiabilidade no mesmo. $^[$
Normalmente a preocupação em desenvolver servidores fica centrada em grandes fabricantes do mercado, que possuem equipes preparadas e laboratórios com esse fim.

### Sistemas Operacionais

Para que funcione uma rede cliente-servidor, é necessário que no servidor esteja instalado um sistema operacional que reconheça esse tipo de rede. Os sistemas operacionais para redes cliente-servidor são:
* Unix
* Linux
* Solaris
* FreeBSD
* Novell Netware
* Windows NT, Windows 2000, Windows 2003, Windows XP, Windows Vista, Windows Server 2008, Windows Server 2012,Windows 7, Windows 8 e Windows 10.
* Os sistemas operacionais Windows 95, Windows 98 e Windows ME reconhecem somente redes do tipo ponto-a-ponto; e o sistema operacional DOS não tem suporte a qualquer tipo de rede.
Em servidores, o sistema Unix e sistemas baseados neste (como Linux e Solaris) são os sistemas mais utilizados para aplicações como Firewall e servidor web, ao passo que o sistema Windows, são mais utilizados para Gerenciamento de Usuários e serviços pela facilidade de operação e manutenção (AD).$^[$

## Servidores na Internet

A Internet, maior rede de computadores do mundo, utiliza o modelo cliente-servidor. Muitos servidores em todo o mundo são interligados e processam informações simultaneamente.
Alguns serviços oferecidos por servidores de internet são: páginas web, correio eletrônico, transferência de arquivos, acesso remoto, mensagens instantâneas e outros. É interessante notar que qualquer ação efetuada por um usuário envolve o trabalho de diversos servidores espalhados pelo mundo.