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:
Abordagem Simultânea
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:
SN | Descriptino de servidor web |
---|---|
1 | Apache 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. |
2 | Internet 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. |
4 | Sun 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. |
5 | Jigsaw 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. |