Servidor Web

Um servidor Web é um software e hardware que usa HTTP (Hypertext Transfer Protocol) e outros protocolos para responder a pedidos de clientes feitos através da World Wide Web. A principal função de um servidor web é exibir o conteúdo do site através do armazenamento, processamento e entrega de páginas web aos usuários. Além de HTTP, os servidores web também suportam SMTP (Simple Mail Transfer Protocol) e FTP (File Transfer Protocol), usados para e-mail, transferência e armazenamento de arquivos.

Phones de servidor web estão conectados à internet e permitem a troca de dados com outros dispositivos conectados, enquanto o software do servidor web controla como um usuário acessa arquivos hospedados. O processo servidor web é um exemplo do modelo cliente/servidor modelo. Todos os computadores que hospedam websites devem ter software de servidor web.

Servidores web são usados em hospedagem web, ou a hospedagem de dados para websites e aplicações web -- ou aplicações web.

Como os servidores web funcionam?

Software de servidor web é acessado através dos nomes de domínio dos websites e garante a entrega do conteúdo do site ao usuário solicitante. O lado do software também é composto por vários componentes, com pelo menos um servidor HTTP. O servidor HTTP é capaz de entender HTTP e URLs. Como hardware, um servidor web é um computador que armazena software de servidor web e outros arquivos relacionados a um site, como HTML documentos, imagens e JavaScript files.

Quando um navegador web, como o Google Chrome ou o Firefox, precisa de um arquivo hospedado em um servidor web, o navegador irá solicitar o arquivo por HTTP. Quando a solicitação é recebida pelo servidor web, o servidor HTTP irá aceitar a solicitação, encontrar o conteúdo e enviá-lo de volta para o navegador através de HTTP.

Mais especificamente, quando um navegador solicita uma página de um servidor web, o processo irá seguir uma série de passos. Primeiro, uma pessoa irá especificar uma URL na barra de endereços de um navegador web. O navegador da web irá então obter o endereço IP do nome do domínio -- quer traduzindo a URL através do DNS (Domain Name System) ou pesquisando em seu cache. Isso levará o navegador a um servidor web. O navegador irá então solicitar o arquivo específico do servidor web por uma solicitação HTTP. O servidor web responderá, enviando ao navegador a página solicitada, novamente, através de HTTP. Se a página solicitada não existir ou se algo correr mal, o servidor web responderá com uma mensagem de erro. O navegador será então capaz de exibir a página web.

Múltiplos domínios também podem ser hospedados em um servidor web.

Exemplos de usos do servidor web

Servidores web muitas vezes vêm como parte de um pacote maior de programas relacionados à internet e intranet que são usados para:

  • enviar e receber e-mails;
  • download requests for File Transfer Protocol (FTP) files; e
  • building and publishing webpages.

Muitos servidores web básicos também suportarão scripts do lado do servidor, que é usado para empregar scripts em um servidor web que pode personalizar a resposta para o cliente. O scripting do lado do servidor roda na máquina do servidor e normalmente tem um amplo conjunto de recursos, que inclui acesso à base de dados. O processo de scripting do lado do servidor também usa Active Server Pages (ASP), Hypertext Preprocessor (PHP) e outras linguagens de scripting. Este processo também permite que documentos HTML sejam criados dinamicamente.

Servidores web dinâmicos vs. estáticos

Um servidor web pode ser usado para servir tanto conteúdo estático quanto dinâmico. Estático refere-se ao conteúdo que está sendo mostrado como está, enquanto o conteúdo dinâmico pode ser atualizado e alterado. Um servidor web estático será composto por um computador e um software HTTP. É considerado estático porque o servidor enviará arquivos hospedados como está para um navegador.

Navegadores web dinâmicos consistirão de um servidor web e outro software, como um servidor de aplicativos e banco de dados. É considerado dinâmico porque o servidor de aplicativos pode ser usado para atualizar quaisquer arquivos hospedados antes que eles sejam enviados para um navegador. O servidor web pode gerar conteúdo quando este é solicitado a partir da base de dados. Embora este processo seja mais flexível, é também mais complicado.

Servidor web comum e de topo no mercado

Existem vários servidores web comuns disponíveis, alguns incluindo:

  • Servidor HTTP Apache. Desenvolvido pela Apache Software Foundation, é um servidor web livre e de código aberto para Windows, Mac OS X, Unix, Linux, Solaris e outros sistemas operacionais; ele precisa da licença Apache.
  • Microsoft Internet Information Services (IIS). Desenvolvido pela Microsoft para plataformas Microsoft; não é de código aberto, mas amplamente utilizado.
  • Nginx. Um popular servidor web de código aberto para administradores, devido à sua leve utilização de recursos e escalabilidade. Ele pode lidar com muitas sessões simultâneas devido a sua arquitetura orientada a eventos. Nginx também pode ser usado como servidor proxy e balanceador de carga.
  • Lighttpd. Um servidor web livre que vem com o sistema operacional FreeBSD. É visto como rápido e seguro, enquanto consome menos energia de CPU.
  • Sun Java System Web Server. Um servidor web livre da Sun Microsystems que pode rodar em Windows, Linux e Unix. Ele está bem equipado para lidar com websites médios e grandes.

Servidores web líderes incluem Apache, Serviços de Informação de Internet da Microsoft (IIS) e Nginx -- pronunciado engine X. Outros servidores web incluem o servidor NetWare da Novell, Google Web Server (GWS) e a família de servidores Domino da IBM.

As considerações na escolha de um servidor web incluem quão bem ele funciona com o sistema operacional e outros servidores; sua capacidade de lidar com programação do lado do servidor; características de segurança; e as ferramentas de publicação, mecanismo de busca e construção de sites que vêm com ele. Os servidores Web também podem ter diferentes configurações e definir valores padrão. Para criar alta performance, um servidor web, alta produtividade e baixa latência ajudará.

Práticas de segurança de servidores web

Existem muitas práticas de segurança que os indivíduos podem definir em torno do uso de servidores web que podem tornar a experiência mais segura. Alguns exemplos de práticas de segurança podem incluir processos como:

  • um proxy reverso, que é projetado para esconder um servidor interno e agir como um intermediário para o tráfego originado em um servidor interno;
  • restrição de acesso através de processos como a limitação do acesso do host web a máquinas de infraestrutura ou usando o Secure Socket Shell (SSH);
  • manter os servidores web atualizados e atualizados para ajudar a garantir que o servidor web não seja suscetível a vulnerabilidades;
  • monitoramento da rede para garantir que não haja nenhuma atividade não autorizada; e
  • utilizar um firewall e SSL como firewalls pode monitorar o tráfego HTTP enquanto tiver um Secure Sockets Layer (SSL) pode ajudar a manter os dados seguros.