Um pouco do protocolo HTTP

O presente artigo tem por objeto tratar do conceito do protocolo HTTP usado em páginas web. O mesmo trata de conceitos da World Wide Web, conceitos sobre a troca de mensagens cliente-servidor através do protocolo HTTP, ampliando desta forma o conhecimento e o entendimento do assunto.

[ Hits: 58.142 ]

Por: Leandro Rodrigo em 31/05/2011 | Blog: http://leandro-robotica.blogspot.com/


O lado cliente



Um navegador é essencialmente um programa que pode exibir uma página uma página web, mas primeiro é necessário encontrar a página, e como o navegador faz isso? Através da URL (Uniform Resource Locators, que quer dizer: Localizador Padrão de Recursos), as URLs podem ser comparadas com ponteiros que apontam para um determinado local, neste casso para uma página web. Segundo (TENEMBAUM, 2003) as URL são os identificadores universais da página, ou seja, não existem URLs repetidas, seria como o CPF de uma pessoa no Brasil.

As URLs são formadas por três partes: a primeira e o tipo de protocolo que está sendo usado, a segunda o nome DNS da máquina ou servidor em que está a página e por último o nome específico da página, normalmente o nome do arquivo que a página representa. Um exemplo, a URL para a página dos artigos do site do Viva o Linux é a seguinte:

URL: http://vivaolinux.com.br/artigos/index.php

A primeira parte da URL acima destacada pela cor preta mostra a primeira parte que diz respeito ao protocolo que está sendo usado, neste casso o http://, a segunda parte destacada pela cor verde mostra o DNS da máquina que ostenta a página vivaolinux.com.br, também conhecido como nome do host, e a terceira e última parte destacada na cor vermelha é o nome do arquivo /artigos/index.php , segundo (TANEMBAUM, 2003) o nome do arquivo é um caminho relativo ao diretório da Web padrão em vivaolinux.com.br.

Pode-se destacar que, sob o ponto de vista do usuário, uma solicitação de uma página HTML se resuma, as vezes, em apenas um clique do mouse, na verdade ela frequentemente da origem a várias solicitações HTTP que são enviadas do browser para o servidor web, que são seguidas por suas respostas enviadas de volta pelo servidor.

Segundo (TANEMBAUM, 2003) quando um usuário clica em um Hyperlink, o navegador executa uma serie de etapas realizadas em sequencia, para buscar a página indicada pelo Hyperlink. E sequencia de passos que o navegador realiza é demonstrada abaixo descrita por (TANEMBAUM, 2003):

1. O navegador determina o URL (verificando o que foi selecionado).
2. O navegador pergunta ao DNS qual é o endereço IP de vivaolinux.com.br.
3. O DNS responde com 174.123.53.162.
4. O navegador estabelece uma conexão TCP com a porta 80 em 174.123.53.162.
5. Em seguida, o navegador envia um comando solicitando o arquivo /site/.
6. O servidor vivaolinux.com.br envia o arquivo /artigos/index.php.
7. A conexão TCP é encerrada
8. O navegador exibe todo o texto de /artigos/index.php.
9. O navegador busca e exibe todas as imagens que o arquivo contém.

Este processo pode ser visualizado observando a figura 01, é descrita uma relação entre o usuário e o servidor.

Nem todas as páginas web contem documentos no formato HTML, as páginas podem conter documentos com vários tipos de extensões que podem ser vinculados a um documento HTML, em vez de se construir navegadores que interpretem todos os tipos de formatos, o que não seria viável porque os navegadores ficariam enormes, para poderem interpretar todos os formatos existentes, e que vem crescendo a cada dia. Uma solução encontrada para esse problema é o MIME (Multipurpose Internet Mail Extensions, que em português quer dizer: Extensões Multi função para Mensagens de Internet).

Quando um servidor retorna uma página ele envia algumas informações adicionais como MIME. Em (TANEMBAUM, 2003) o autor explica claramente esse processo:

"Páginas do tipo text/html são exibidas diretamente, como também as páginas criadas em alguns outros tipos internos. Se o tipo MIME não for um dos tipos internos, o navegador consulta sua tabela de tipos MIME para saber como exibir a página. Essa tabela associa um tipo MIME a um visualizador."


Ainda segundo o autor existem dua fomas de abrir um arquivo que não é interno do navegador, a instalação de um plugin ou uma aplicação auxiliar, como ilustrado na figura 02 (a). O plugin é uma extensão para o próprio navegador, e tem acesso a página a página atual, quando o usuário termina seu trabalho e o plugin não é mais utilizado ele é retirado da memória.

Figura 02: Plugin e aplicativo auxiliar. Fonte: (TANEMBAUM, 2003)
O que o autor quer dizer quando fala de uma aplicação auxiliar é que quando o navegador não consegue interpretar um documento por exemplo um arquivo PDF, ele procura no registro do sistema operacional um programa para visualizar o documento, no caso do PDF, no sistema Windows (por exemplo) ele chama o programa Acrobat Reader ou qualquer outro que esteja instalado no sistema que seja capas de abrir o arquivo, a figura 02 (b) ilustra o funcionamento de um aplicativo auxiliar ao navegador.

Página anterior     Próxima página

Páginas do artigo
   1. A World Wide Web
   2. O lado cliente
   3. O lado servidor
   4. Métodos HTTP
   5. Cookies
   6. Conclusão
Outros artigos deste autor

Windowbuilder, o plugin do Google para trabalhar com interface gráfica no Eclipse

Arduino - Visão Geral

Leitura recomendada

Configurando sua placa wireless no Linux

Configuração do Speedy Telefônica no Slackware 10.2

Transmissão de dados via telemetria: uma opção de comunicação remota

Apache2 + PHP + PostgreSQL + phpPgAdmin

Acelere o seu Squid com squid-prefetch - baixe as páginas antes dos seus usuários!

  
Comentários
[1] Comentário enviado por fla_torres em 31/05/2011 - 19:38h

Seria bacana incluir mais sobre os headers cache-control, vary, accept-encoding, etag, connection. É bem útil para quem se preocupa com cache e performance.

[2] Comentário enviado por bilbobolseiro em 31/05/2011 - 21:25h

Muito bom esse artigo. Ele deixou mais claro, como acontece por dentro da internet a transmissao de dados....

[3] Comentário enviado por albfneto em 31/05/2011 - 23:45h

Artigo ótimo, cuidadoso, minucioso, bem redigido,com referências Bibliográficas, 10!

[4] Comentário enviado por piquen0 em 01/06/2011 - 08:33h

Obrigado!!!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts