Servidorweb é umsoftware responsável por aceitar pedidos emHTTP de clientes, geralmente os navegadores, e servi-los com respostas em HTTP, incluindo opcionalmente dados, que geralmente são páginasweb, tais como documentos emHTML com objetos embutidos (imagens, etc) ou umcomputador que executa um programa que provê a funcionalidade descrita anteriormente.[1] O mais popular, e mais utilizado no mundo, é oservidor Apache (software livre). AMicrosoft possui a sua própria solução denominadaIIS (Internet Information Services).
Os pedidos http que se referem habitualmente a páginas emHTML são normalmente feitos através denavegadores.
O processo se inicia com a conexão entre o computador onde está instalado o servidorweb e o computador do cliente; como naweb não é possível prever a que hora se dará essa conexão, os servidoresweb 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.
Genericamente tudo o que se enquadre no conceito deficheiro pode ser enviado como resultado de um pedido em HTTP.
Finalmente, os servidores web também podem executar programas escripts, interagindo mais com o usuário.
A origem do conteúdo enviado pelo servidor web numa resposta a um pedido em 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 servidorweb 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 algumalinguagem de programação (que dependendo do servidorweb pode serphp,Java,Perl,Visual Basic .NET,C#, ...) podemos criar programas que correm no servidorweb, eventualmente acessando abases de dados e cujo resultado é enviado para obrowser.
Embora estes valores variem de acordo com o navegador que utilizarmos e com o servidor web que responde a este pedido em HTTP, muito do conteúdo será sempre igual:
no pedido
GET /introWebServer.html HTTP/1.1
ou seja estamos a pedir usando o protocolo HTTP versão 1.1 o ficheiro introWebServer.html que está na raiz do servidor
na resposta
HTTP/1.1 200 OK
ou seja o pedido é válido (200 OK) e o conteúdo segue embaixo. Como podemos ver depois de mais um conjunto de dados aparece finalmente o conteúdo em HTML da página que tínhamos criado.
Independentemente de estarmos falando de páginas dinâmicas ou páginas estáticas este será sempre o fluxo que o pedido/resposta entre o servidor e o navegador irá provocar.
Num servidorweb capaz de responder a páginas dinâmicas (no nosso caso o IIS da Microsoft) temos um ficheiro chamado introWebServer.asp com o seguinte conteúdo:
<html> <body> <% for i=1 to 10 Response.Write("<p>olá mundo</p>") next %> </body></html>
Se no navegador tentar aceder a este ficheiro, a sequência pedido / resposta iria produzir os seguintes comandos:
Como podemos ver, o pedido/resposta de um ficheiro estático ou de um ficheiro dinâmico gera fluxos de informação praticamente iguais, isto é, naweb a informação que circula é essencialmente a mesma. A diferença é que um ficheiro dinâmico tem que ser primeiro processado pelo servidorweb.