Servidor web

Visão geral

Web serveré um computador onde o conteúdo da web é armazenado. Basicamente, o servidor web é usado para hospedar os sites, mas existem outros servidores web, como jogos, armazenamento, FTP, e-mail, etc.

O site é uma coleção de páginas da web enquanto o servidor web é um software que responde à solicitação de recursos da web.

Servidor Web Funcionando

O servidor da Web responde à solicitação do cliente de uma das seguintes maneiras:

  • Enviando o arquivo para o cliente associado ao URL solicitado.

  • Gerar resposta invocando um script e se comunicando com o banco de dados

Key Points

  • Quando o cliente envia a solicitação de uma página da web, o servidor da web procura a página solicitada se a página solicitada for encontrada e a enviará ao cliente com uma resposta HTTP.

  • Se a página da web solicitada não for encontrada, o servidor da web enviará um HTTP response:Error 404 Not found.

  • Se o cliente solicitou alguns outros recursos, o servidor da web entrará em contato com o servidor de aplicativos e o armazenamento de dados para construir a resposta HTTP.

Arquitetura

A arquitetura do servidor web segue as duas abordagens a seguir:

  1. Abordagem Simultânea

  2. Abordagem baseada em evento de processo único.

Abordagem Simultânea

A abordagem simultânea permite que o servidor da web trate de várias solicitações de clientes ao mesmo tempo. Isso pode ser alcançado pelos seguintes métodos:

  • Multi-process

  • Multi-threaded

  • Método híbrido.

Multiprocessamento

Nesse processo, um único processo (processo pai) inicia vários processos filho de thread único e distribui as solicitações recebidas para esses processos filho. Cada um dos processos filho é responsável por lidar com uma única solicitação.

É responsabilidade do processo pai monitorar a carga e decidir se os processos devem ser eliminados ou bifurcados.

Multi-threaded

Ao contrário do Multiprocess, ele cria vários processos de thread único.

Híbrido

É a combinação das duas abordagens acima. Nesta abordagem, vários processos são criados e cada processo inicia vários threads. Cada um dos threads lida com uma conexão. O uso de vários threads em um único processo resulta em menos carga nos recursos do sistema.

Exemplos

A tabela a seguir descreve os principais servidores da web disponíveis hoje:

SNDescriptino de servidor web
1Apache HTTP Server
Este é o servidor da web mais popular do mundo desenvolvido pela Apache Software Foundation. O servidor da web Apache é um software de código aberto e pode ser instalado em quase todos os sistemas operacionais, incluindo Linux, UNIX, Windows, FreeBSD, Mac OS X e mais. Cerca de 60% das máquinas do servidor web executam o Apache Web Server.
2Internet Information Services (IIS)
O Internet Information Server (IIS) é um servidor Web de alto desempenho da Microsoft. Este servidor web funciona em plataformas Windows NT / 2000 e 2003 (e pode estar na próxima nova versão do Windows também). O IIS vem com Windows NT / 2000 e 2003; Como o IIS está totalmente integrado ao sistema operacional, é relativamente fácil administrá-lo.
3 -Lighttpd
O lighttpd, pronunciado lighty também é um servidor web gratuito distribuído com o sistema operacional FreeBSD. Este servidor da web de código aberto é rápido, seguro e consome muito menos energia da CPU. Lighttpd também pode ser executado em sistemas operacionais Windows, Mac OS X, Linux e Solaris.
4Sun Java System Web Server
Este servidor da Sun Microsystems é adequado para sites de médio e grande porte. Embora o servidor seja gratuito, ele não é de código aberto. No entanto, funciona em plataformas Windows, Linux e UNIX. O servidor da web Sun Java System oferece suporte a várias linguagens, scripts e tecnologias necessárias para Web 2.0, como JSP, Java Servlets, PHP, Perl, Python e Ruby on Rails, ASP e Coldfusion etc.
5Jigsaw Server
Jigsaw (W3C's Server) vem do World Wide Web Consortium. Ele é de código aberto e gratuito e pode ser executado em várias plataformas como Linux, UNIX, Windows e Mac OS X Free BSD etc. O Jigsaw foi escrito em Java e pode executar scripts CGI e programas PHP.