A expressão servidor web pode significar duas coisas:
- Um programa de computador responsável por aceitar pedidos HTTP de clientes, geralmente os navegadores, e servi-los com respostas HTTP, incluindo opcionalmente dados, que geralmente são páginas web, tais como documentos HTML com objetos embutidos (imagens, etc.);
- Um computador que executa um programa que provê a funcionalidade descrita acima.
Características
Os pedidos http que se referem habitualmente a páginas HTML são normalmente feitos através de browsers.
O processo se inicia com a conexão entre o computador onde está instalado o servidor web e o computador do cliente; como na web não é possível prever a que hora se dará essa conexão, os servidores web precisam estar disponíveis dia e noite.
A partir daí é processado o pedido do cliente, e conforme as restrições de segurança e a existência da informação solicitada, o servidor devolve os dados.
Atualmente há cada vez mais programas que fazem pedidos HTTP (leitores de RSS e outros) e quase desde o inicio da web que os ficheiros servidos pelo webserver vão para além dos ficheiros HTML, incluindo imagens, ficheiros de som, pdfs, etc.
Genericamente tudo o que se enquadre no conceito de ficheiro pode ser enviado como resultado de um pedido http.
Finalmente, os servidores web também podem executar programas e scripts, interagindo mais com o usuário.
Páginas Dinâmicas e Páginas Estáticas
A origem do conteúdo enviado pelo servidor web numa resposta a um pedido HTTP pode ser:
- estática - se vier directamente de um ficheiro já existente no servidor
- dinâmica - se for criada dinamicamente por outro programa, script ou API chamado pelo servidor.
no caso de uma página dinâmica, o pedido, depois de recebido, é processado pelo servidor web que vai criar dinamicamente o conteúdo que depois será enviado para o cliente.
as páginas dinâmicas têm a vantagem de poderem ser programadas, ou seja usando alguma linguagem de programação (que dependendo do servidor web pode ser php, Java, Perl, Visual Basic .NET, C#, ...) podemos criar programas que correm no servidor web, eventualmente acessando a bases de dados e cujo resultado é enviado para o browser.
Fonte: Wikipedia
Fonte: Wikipedia