15
Redes de Computadores 2 - Camada de Aplicação (HTTP) – Paulo Roberto Freire Cunha [email protected]

Redes de Computadores 2 - Camada de Aplicação (HTTP) –

  • Upload
    ramona

  • View
    25

  • Download
    8

Embed Size (px)

DESCRIPTION

Redes de Computadores 2 - Camada de Aplicação (HTTP) –. Paulo Roberto Freire Cunha [email protected]. http request. http response. Browser. servidor web. Visão Geral. HTTP - HyperText Transfer Protocol protocolo da aplicação WEB documentos RFC 1945 (http 1.0) RFC 2616 (http 1.1). - PowerPoint PPT Presentation

Citation preview

Page 1: Redes de Computadores 2 - Camada de Aplicação (HTTP) –

Redes de Computadores 2

- Camada de Aplicação (HTTP) –

Paulo Roberto Freire [email protected]

Page 2: Redes de Computadores 2 - Camada de Aplicação (HTTP) –

Redes de Computadores 2 (baseado nos slides do Kurose)

Visão Geral

HTTP - HyperText

Transfer Protocol

protocolo da

aplicação WEB

documentos RFC 1945 (http 1.0)

RFC 2616 (http 1.1)

HTTP - HyperText

Transfer Protocol

protocolo da

aplicação WEB

documentos RFC 1945 (http 1.0)

RFC 2616 (http 1.1)

Browser

http request

http response

aplicaçãotransport

redeenlacefísica

aplicaçãotransport

redeenlacefísica

servidorweb

Page 3: Redes de Computadores 2 - Camada de Aplicação (HTTP) –

Redes de Computadores 2 (baseado nos slides do Kurose)

Visão Geral

o HTTP usa o protocolo TCP da camada de transporte

etapas de funcionamento1. estabelece uma conexão

TCP (cria um socket) com o servidor na porta 80

2. envia request

3. recebe response

4. fecha a conexão TCP

Aplicação

Transporte

Rede

Enlace

Transporte

Aplicação

Transporte

Rede

Enlace

Transporte

80/TCP80/TCP

get http://www.cin.ufpe.br

página html

Aplicação

Transporte

Rede

Enlace

Transporte

Aplicação

Transporte

Rede

Enlace

Transporte

80/TCP

http 1.0 (não persistente)

cada objeto é transferido fazendo-se

uma nova conexão

http 1.1 (persistente)

todos os objetos são transferidos

em uma única conexão TCP

Page 4: Redes de Computadores 2 - Camada de Aplicação (HTTP) –

Redes de Computadores 2 (baseado nos slides do Kurose)

Formato da Mensagem - request

Mensagens HTTP

request

reply

GET /somedir/page.html HTTP/1.0 User-agent: Mozilla/4.0 Accept: text/html, image/gif,image/jpeg Accept-language:fr

\n

tipo da mensagem

request|response

cabeçalho da mensagem

cabeçalho geral

cabeçalho de request

cabeçalho de response

cabeçalho da entidade

corpo da mensagem

Page 5: Redes de Computadores 2 - Camada de Aplicação (HTTP) –

Redes de Computadores 2 (baseado nos slides do Kurose)

Formato da Mensagem - request

método URLsp sp versão cr lf

campo:valor cr lf

campo: valor cr lf

campo: valor cr lf

cr lf

Corpo

Page 6: Redes de Computadores 2 - Camada de Aplicação (HTTP) –

Redes de Computadores 2 (baseado nos slides do Kurose)

Formato da Mensagem - request

GET http://...sp sp http 1.0 cr lf

Host:www.cin.ufpe.br cr lf

Connection: close cr lf

Accept-language: fr cr lf

cr lf

GET (request)

Page 7: Redes de Computadores 2 - Camada de Aplicação (HTTP) –

Redes de Computadores 2 (baseado nos slides do Kurose)

Formato da Mensagem - request

POST http://...sp sp http 1.0 cr lf

Host:www.cin.ufpe.br cr lf

Connection: close cr lf

Accept-language: fr cr lf

cr lf

Infra-Comunicacao+http

POST (request)

Page 8: Redes de Computadores 2 - Camada de Aplicação (HTTP) –

Redes de Computadores 2 (baseado nos slides do Kurose)

Formato da Mensagem - request

HEAD http://...sp sp http 1.0 cr lf

Host:www.cin.ufpe.br cr lf

Connection: close cr lf

Accept-language: fr cr lf

cr lf

HEAD (request)

similar ao GET

desconsidera o objeto solicitado

usado para depuração

Page 9: Redes de Computadores 2 - Camada de Aplicação (HTTP) –

Redes de Computadores 2 (baseado nos slides do Kurose)

Formato da Mensagem - response

versão cod statussp sp mes. status cr lf

campo: valor cr lf

campo: valor cr lf

campo:valor cr lf

cr lf

Corpo da Mensagem

Page 10: Redes de Computadores 2 - Camada de Aplicação (HTTP) –

Redes de Computadores 2 (baseado nos slides do Kurose)

Formato da Mensagem - response

GET http://...sp sp http 1.0 cr lf

Host:www.cin.ufpe.br cr lf

Connection: close cr lf

Accept-language: fr cr lf

cr lf

GET /somedir/page.html HTTP/1.0 Host:www.cin.ufpe.brConnection: closeUser-agent: Mozilla/4.0 Accept: text/html, image/gif,image/jpeg Accept-language:fr \n

HTTP/1.1 200 OK Connection: close Date: Thu, 06 Aug 1998 12:00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun 1998 09:23:24 GMT Content-Length: 6821 Content-Type: text/html

(Dado Dado Dado)

http/1.1 200sp sp OK cr lf

Connection: close cr lf

Date: Thu, 06 Aug 1998 12:00:15 GMT cr lf

... cr lf

cr lf

DADO

Page 11: Redes de Computadores 2 - Camada de Aplicação (HTTP) –

Redes de Computadores 2 (baseado nos slides do Kurose)

Formato da Mensagem - response

200 ok solicitção realizada com sucesso

301 Moved Permanently

nova localização especificada no corpo da mensagem

400 Bad Request mensagem de request não entendida pelo servidor

404 Not Found documento não encontrado

505 HTTP Version Not Supported

Versões Incompatíveis

Código Mensagem Significado

telnet www.cin.ufpe.br 80

Page 12: Redes de Computadores 2 - Camada de Aplicação (HTTP) –

Redes de Computadores 2 (baseado nos slides do Kurose)

Exemplo

interface com o protocolo

telnet www.cin.ufpe.br 80

troca de mensagens com o protocolo

GET http://www.cin.ufpe.br/~prfc/aulas/index.html HTTP/1.1

Page 13: Redes de Computadores 2 - Camada de Aplicação (HTTP) –

Redes de Computadores 2 (baseado nos slides do Kurose)

Interação com o servidor autenticada

objetivo da autenticação: controle de acesso aos documentos do servidor

stateless: o cliente deve apresentar a autorização a cada request

autorização: nome + passwd authorization: linha do

cabeçalho se a autorização não é

apresentada o servidor recusa o acesso

cliente servidor

request normal

401: authorization req.

WWW authenticate:

request normal+ Authorization:valor

rsponse normal

request normal+ Authorization:valor

response normal tempo

Page 14: Redes de Computadores 2 - Camada de Aplicação (HTTP) –

Redes de Computadores 2 (baseado nos slides do Kurose)

Interação com o servidor com Cookies

o servidor envia o cookie para o clienteSet-cookie: 1678453

o cliente apresenta o cookie em um acesso posteriorcookie: 1678453

o servidor casa o cookie autenticação preferências

cliente servidor

request normal

response normal +Set-cookie: #

request normalcookie: #

response normal

request normalcookie: #

response normal

ação específicapara o cookie

ação específicapara o cookie

Page 15: Redes de Computadores 2 - Camada de Aplicação (HTTP) –

Redes de Computadores 2 (baseado nos slides do Kurose)

Interação com o servidor: GET condicional

objetos não modificados

não são enviados

o cliente especifica a data

If-modified-since:

<data>

o servidor responde sem

um objeto caso a cópia

não tenha sido atualizado

HTTP/1.0 304 Not

Modified

cliente servidor

requestIf-modified-since:

<date>

responseHTTP/1.0

304 Not Modified

objetonão

modificado

requestIf-modified-since:

<date>

responseHTTP/1.1 200 OK

<data>

objeto modificado