http
DESCRIPTION
HTTP. Hypertext Transfer Protocol. Desenvolvido inicialmente em 1990 por Tim Bernes Lee no Laboratório de Física de partículas em CERN na Suíça; Permite recuperar documentos através de um sistema de navegação conhecido como “hipertexto “; - PowerPoint PPT PresentationTRANSCRIPT
RDC (Redes de Computadores) – Prof. Alberto
HTTP
Hypertext Transfer Protocol
RDC (Redes de Computadores) – Prof. Alberto
Histórico (World Wide Web)
Desenvolvido inicialmente em 1990 por Tim Bernes Lee no Laboratório de Física de partículas em CERN na Suíça;
Permite recuperar documentos através de um sistema de navegação conhecido como “hipertexto“;
Responsável pela “explosão” da Internet (curiosidade: em junho de 1993 existiam apenas 130 Websites)
RDC (Redes de Computadores) – Prof. Alberto
URL, URI, URN
“Recursos” são recuperados através de uma convenção de localização;
Eventualmente, “resolução” envolve pesquisa em servidores DNS.
RDC (Redes de Computadores) – Prof. Alberto
URI
URI – Universal Resource Identifier. Conjunto de nomes ou endereços eletrônicos que formam uma cadeia de caracteres que referenciam uma determinada localização de um recurso na Internet. Também chamado Uniform Resource Identifier. Os URL’s e URN’s são tipos de URI’s
RDC (Redes de Computadores) – Prof. Alberto
URLURL – Uniform Resource Locator, também
referido como Universal Resource Locator. É uma espécie de identificador universal que define uma dada localização de um recurso na Internet. Um URL é um endereço Internet que informa ao utilizador como e onde se localiza um determinado “arquivo” na WWW. Um URL inclui não só o nome do “arquivo”, mas também o nome do servidor e a identificação da pasta em que este se encontra, bem como o protocolo necessário para recuperá-lo.
RDC (Redes de Computadores) – Prof. Alberto
URNURN – Uniform Resource Name, também referido como Universal Resource Name/Number. Identificação independente e única de um recurso disponível na Internet.
Um URN típico é o sistema ISBN para identificar individualmente os livros. ISBN 0-486-27557-4 (urn:isbn:0-486-27557-4) cita sem equívocos uma edição específica da obra de Shakespeare, "Romeu e Julieta" (Romeo and Juliet, em inglês). Para acessar esta objeto e ler o livro, é necessário obter a sua localização: o endereço URL. Um URL para este livro é um caminho de arquivos, como http://www.livroseletronicos/ingles/Shakespeare/romeoandjuliet.pdf, identificando o arquivo salvo em um servidor Web, no formato PDF. Então o propósito de URNs e URLs é o de serem complementares.
RDC (Redes de Computadores) – Prof. Alberto
Anatomia de uma URL
protocolo:// host.dominio[:porta]
/recurso
Exemplos:
http://www.aulasderedes.com.br/aula1.htm
file://c:\inetpub\wwwroot\default.htm
RDC (Redes de Computadores) – Prof. Alberto
Protocolo HTTPProtocolo da camada de
aplicação Modelo cliente/servidorcliente: browser que
pede,recebe, “visualiza”
objetosWWWservidor: servidor WWWenvia objetos em
respostaa pedidosHTTP/1.0: RFC 1945HTTP/1.1: RFC 2068
RDC (Redes de Computadores) – Prof. Alberto
HTTP (características)
• Usa serviço de transporte TCP;• Cliente: estabelece conexão TCP (cria socket) ao
servidor na porta 80;• Servidor: aceita conexão TCP do cliente (“escuta”
porta 80);• Mensagens HTTP : mensagens do protocolo da
camada de aplicação são trocadas entre browser (cliente HTTP) e servidor Web (servidor HTTP);
• Cada troca encerra conexão TCP;• Não mantém estado.
RDC (Redes de Computadores) – Prof. Alberto
Conexões persistentes x não persistentes
NÃO PERSISTENTE
• HTTP/1.0;• Servidor analisa
pedido,responde e encerra a conexão TCP;
• 2 RTTs para trazer cada objeto (RTT = round trip time);
• Transferência de cada objeto;
• sofre “partida lenta” (TCPslow-start phase) ;
PERSISTENTE
• default para HTTP/1.1;;• Na mesma conexão TCP:servidor analisa pedido,responde, analisa novo pedido, ...;• Cliente envia pedidos para
todos objetos referenciados assim que recebe o HTML base;
• Menos RTTs e menos“partida lenta” ;
RDC (Redes de Computadores) – Prof. Alberto
Formato da mensagem
Tipos de Mensagem HTTP:
• Pedido: linha contendo
método, recurso e versão
linhas de cabeçalho (headers)
linha em branco
corpo
GET /default.htm HTTP/1.1Host: www.redes4.netConnection: closeUser-agent: Mozilla/4.0(carriage return (CR), line feed (LF) adicionais)
RDC (Redes de Computadores) – Prof. Alberto
Solicitação HTTP (formato Geral)
RDC (Redes de Computadores) – Prof. Alberto
Métodos solicitação HTTP
GET Recupera um recurso
HEAD Recupera informações sobre um recurso
POST Envia informações (“valores”) usando os campos de cabeçalho
PUT Faz “upload” de um recurso
DELETE
Exclui um recurso
RDC (Redes de Computadores) – Prof. Alberto
Formato da mensagem
HTTP/1.1 200 OKConnection: closeDate: Thu, 06 Aug 1998 12:00:15 GMTServer: Apache/1.3.0 (Unix)Last-Modified: Mon, 22 Jun 1998 …...Content-Length: 6821Content-Type: text/html (dados dadosdados ... )
Tipos de Mensagem HTTP:
• Resposta Uma linha de status
contendo : protocolo, código e frase de status
linhas de cabeçalho (headers)
linha em branco
corpo
RDC (Redes de Computadores) – Prof. Alberto
Códigos de resposta HTTP
Retorno
Descrição
1YZ Informação apenas 100 Continue
2YZ Resposta Positiva200 OK
3YZ Redirecionamento para outra URL301 Moved Permanently
4YZ Erros do Cliente404 Not Found
5YZ Erros do Servidor500 Server Error
RDC (Redes de Computadores) – Prof. Alberto
Headers comuns
Date Data e hora da resposta
Host Identifica o domínio para qual foi feita a requisição, permite ao web server hospedar múltiplos sites sobre o mesmo IP.
If-Modified-Since
Permite recuperação condicional
Expires Indica tempo para que o conteúdo seja considerado expirado
Last-Modified Data da ultima alteração
Content-Length Tamanho do “corpo da mensagem” em bytes