HTTP, Requisição e Resposta

28
HTTP, REQUISIÇÃO E RESPOSTA Thiago Rondon São Paulo Perl Workshop 2010.

description

Introdução ao protocolo HTTP, palestra elaborada para o São Paulo Perl Workshop 2010.

Transcript of HTTP, Requisição e Resposta

Page 1: HTTP, Requisição e Resposta

HTTP, REQUISIÇÃO E RESPOSTA

Thiago RondonSão Paulo Perl Workshop 2010.

Page 2: HTTP, Requisição e Resposta

Desafios e Motivações

na teoria ... Padrões

na prática ... Implementações

Page 3: HTTP, Requisição e Resposta

Requisição e Reposta

[ ]• Mecanismo requisição-resposta.

• Identificação de recursos

• Stateless

• Meta-data

Page 4: HTTP, Requisição e Resposta

Requisição e Reposta

[ ]Proxy

Gateway

Tunnel

( Intermediadores )

Page 5: HTTP, Requisição e Resposta

Requisição e Reposta

[ ]Header

Body

Page 6: HTTP, Requisição e Resposta

Distribuído

Page 7: HTTP, Requisição e Resposta

Distribuído

Page 8: HTTP, Requisição e Resposta

Distribuído

Servidor

Aplicações

Usabilidade

Interface

Page 9: HTTP, Requisição e Resposta

OverviewGET /arquivo HTTP/1.1HOST: sao-paulo.pm.orgUser-Agent: LWP

HTTP /1.1 200 OKContent-Type: text/htmlContent-Length: 42

Page 10: HTTP, Requisição e Resposta

GET /workshopHost: sao-paulo.pm.org

GET /workshopHost: sao-paulo.pm.org

200 OKCache-Control: max-age=60

200 OKCache-Control: max-age=60

Requisição e Reposta

Page 11: HTTP, Requisição e Resposta

GET /workshopHost: sao-paulo.pm.org

200 OKCache-Control: max-age=30

(30 segundos depois)

Requisição e Reposta

Page 12: HTTP, Requisição e Resposta

GET /workshopHost: sao-paulo.pm.org

GET /workshopHost: sao-paulo.pm.org

200 OKCache-Control: max-age=60

200 OKCache-Control: max-age=60

(1 minuto)

Requisição e Reposta

Page 13: HTTP, Requisição e Resposta

HTTP::Evolução

• HTTP / 0.9

• GET, NON-PERSISTENT CONN.

• HTTP / 1.0

• POST, MIME44

• HTTP / 1.1

• HEAD, PROXY, VHOST, PERSISTENT CONN, CACHING, PIPELING

• HTTP / NG

Page 14: HTTP, Requisição e Resposta

Na prática..

• Clientes

• Servidores

• Intermediadores

• Cache (Clientes e Servidores)

Page 15: HTTP, Requisição e Resposta

Limitações na URI

• Mobile => 256

• IE => 2K

• Intermediadores =~ 4k

Page 16: HTTP, Requisição e Resposta

Conexões

• Clientes são limitados há duas conexões por host.

• “FIX”: Hospedar em múltiplos vhosts.

• Futuro ?

• Sem limites..

• IE8 não se importa mais com isto.

Page 17: HTTP, Requisição e Resposta

Pipelining

• Apenas alguns clientes / intermediadores utilizam isto como padrão.

• Fora de ordem.

• Ideal: Diminuir pedidos.

Page 18: HTTP, Requisição e Resposta

Cookies e Sessões

undef

Page 19: HTTP, Requisição e Resposta

Autenticação

• Navegadores armazena as informação para a praticidade.

• OAuth.

Page 20: HTTP, Requisição e Resposta

RESTful

• REST =>

• [ Conjunto de recursos, representação de estados ]

Page 21: HTTP, Requisição e Resposta

Resposta::Usabilidade

Usabilidade

Interface

Hmm ?

0.1s, 1s, 10s, ... (Jack Nielsen)

Métodos

Page 22: HTTP, Requisição e Resposta

Servidor e Aplicação

AppServidor

RecursosRequisições

Page 23: HTTP, Requisição e Resposta

Recursos

Construção

Dados

Aplicações

Page 24: HTTP, Requisição e Resposta

Aplicações

Servidor

Respostas

Fork e Threads

Antecipiando

Eventos

Page 25: HTTP, Requisição e Resposta

Estudo de casos.

Page 26: HTTP, Requisição e Resposta

Estudo de caso.

AppServidor

info

?

?Servidor

Page 27: HTTP, Requisição e Resposta

Estudo de caso.

Editores

Usuários

Servidor

dadosconstruçãocache

Recursos