http

16
RDC (Redes de Computadores) – Prof. Alberto HTTP Hypertext Transfer Protocol

Upload: camden-jackson

Post on 30-Dec-2015

24 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: HTTP

RDC (Redes de Computadores) – Prof. Alberto

HTTP

Hypertext Transfer Protocol

Page 2: HTTP

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)

Page 3: HTTP

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.

Page 4: HTTP

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

Page 5: HTTP

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.

Page 6: HTTP

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.

Page 7: HTTP

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

Page 8: HTTP

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

Page 9: HTTP

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.

Page 10: HTTP

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” ;

Page 11: HTTP

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)

Page 12: HTTP

RDC (Redes de Computadores) – Prof. Alberto

Solicitação HTTP (formato Geral)

Page 13: HTTP

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

Page 14: HTTP

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

Page 15: HTTP

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

Page 16: HTTP

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