
Funcionamento do servidor WWW
O ambiente WWW funciona como um ambiente cliente-servidor, como todos os outros serviços disponíveis na internet. Nesse ambiente, dois computadores que se conectam via rede trocam informações, onde o cliente faz o pedido, e o servidor entrega a informação. O cliente no ambiente WWW é chamado de Browser. (por exemplo o Netscape/Explorer). Quando o usuário quer acessar uma página, o Browser abre uma conexão e manda uma mensagem contendo pedido para o servidor WWW. O servidor responde com outra mensagem, contendo o arquivo ou os dados que foram pedidos. Depois de enviada a mensagem o servidor encerra a sessão e o ciclo inicia-se novamente. Importante notar que HTTP é um protocolo stateless, isto é, não mantém nenhum tipo de conexão entre as mensagens.
Caso tenhamos imagens, frames, programas Java, arquivos de som ou qualquer outro componente além da linguagem HTML que está presente na página pedida, o cliente faz os pedidos subsequentes para trazer essas informações.
Componentes da transação básica
O pedido mais comum do cliente WWW para um servidor é um pedido de informação. Tanto o pedido quanto a resposta tem um formato padrão, que é dividido em quatro seções diferentes. Cada seção tem sua própria função, algumas são opcionais, outras não. Normalmente todas a seções são necessárias para o correto funcionamento da conexão.
Ambas mensagens consiste de:

Linhas de Cabeçalho
Uma linha em branco
Corpo da mensagem (opcional)
Vamos explicar cada componente a seguir.

Linha Inicial
Linha inicial do pedido
A linha inicial do pedido é diferente da linha inicial da resposta. Uma linha de pedido tem 3 partes, separadas por espaços: O nome de método (METHOD), o caminho do arquivo pedido (PATH) e a versão do HTTP que está sendo usada, como no exemplo:
O método GET é o mais comum. Ele quer dizer: "Me dê esse arquivo". Outros métodos populares são o POST e o HEAD. O método sempre vem em letras maiúsculas.
O caminho é a parte que vem depois do hostname na URL.
A versão do HTTP sempre vem no formato "HTTP/x.x", sempre em maiúsculas.
Linha inicial da resposta
A linha inicial da resposta, chamada de STATUS LINE, também tem 3 partes separadas por espaço: A primeira é a versão do HTTP, a segunda é um código de status que indica o resultado do pedido, e uma frase em inglês descrevendo o código de status. Uma típica linha de status seria:
A versão de HTTP vem no mesmo formato da linha inicial do pedido: "HTTP/x.x".
O código de status sempre tem 3 dígitos, se divide em categorias: 
2xx - Indica sucesso
3xx - Indica redirecionamento para outro endereço (URL)
4xx - Indica um erro no cliente (Browser)
5xx - Indica um erro no servidor
Os códigos mais comuns são:
200 OK - O pedido foi executado com sucesso e o arquivo transferido.
Linhas de Cabeçalho
As linhas de cabeçalho servem para informar o cliente sobre a natureza da resposta que o servidor está enviando ou para informar o servidor sobre os parâmetros que o cliente está enviando. Antes de realmente dos dados serem enviados. Também é identificado o endereço da máquina que está efetuando o pedido (IP Adress) para fins estatísticos.
O corpo da mensagem
Uma mensagem HTTP pode ter um corpo contendo dados depois de suas linhas de cabeçalho. Em uma resposta, normalmente temos um arquivo que está sendo retornado para o cliente, ou um texto com um código, caso tenha ocorrido algum erro. Num pedido, podem ser os parâmetros de um formulário, por exemplo.
Contet-Type: Informa o tipo MINE do dado no corpo. Exemplo: text/html, imagr/jpg
Content-Lenght: Informa o tamanho em bytes do corpo. Exemplo de conexão HTTP
Vamos supor que eu quero um arquivo cujo endereço é http://www.databrasil.com/professor/cam.html.