HTTP, REQUISIÇÃO E
    RESPOSTA
           Thiago Rondon
   São Paulo Perl Workshop 2010.
Desafios e Motivações


na teoria ... Padrões
na prática ... Implementações
Requisição e Reposta


   [                               ]
• Mecanismo requisição-resposta.
• Identificação de recursos
• Stateless
• Meta-data
Requisição e Reposta
        ( Intermediadores )
      Proxy             Tunnel

  [                              ]
              Gateway
Requisição e Reposta

       Header

  [     Body
                ]
Distribuído
Distribuído
Distribuído
                           Usabilidade


Servidor                    Interface


Aplicações
Overview
GET /arquivo HTTP/1.1
HOST: sao-paulo.pm.org
User-Agent: LWP




                         HTTP /1.1 200 OK
                         Content-Type: text/html
                         Content-Length: 42
Requisição e Reposta

GET /workshop                 GET /workshop
Host: sao-paulo.pm.org        Host: sao-paulo.pm.org




  200 OK                        200 OK
  Cache-Control: max-age=60     Cache-Control: max-age=60
Requisição e Reposta
(30 segundos depois)




GET /workshop
Host: sao-paulo.pm.org




   200 OK
   Cache-Control: max-age=30
Requisição e Reposta
(1 minuto)




GET /workshop                  GET /workshop
Host: sao-paulo.pm.org         Host: sao-paulo.pm.org




   200 OK                        200 OK
   Cache-Control: max-age=60     Cache-Control: max-age=60
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
Na prática..

• Clientes
• Servidores
• Intermediadores
• Cache (Clientes e Servidores)
Limitações na URI

• Mobile => 256
• IE => 2K
• Intermediadores =~ 4k
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.
Pipelining

• Apenas alguns clientes / intermediadores
  utilizam isto como padrão.
• Fora de ordem.
• Ideal: Diminuir pedidos.
Cookies e Sessões


       undef
Autenticação


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


• REST =>
 • [ Conjunto de recursos, representação
    de estados ]
Resposta::Usabilidade

              Hmm ?
Usabilidade   0.1s, 1s, 10s, ... (Jack Nielsen)
              Métodos
 Interface
Servidor e Aplicação
Requisições                    Recursos



              Servidor   App
Recursos

                        Construção


Aplicações

                        Dados
Aplicações

Respostas
 Fork e Threads
                         Servidor
 Antecipiando
 Eventos
Estudo de casos.
Estudo de caso.
info
           Servidor
                                ?


                      ?   App
       Servidor
Estudo de caso.

Editores Servidor
                                         Recursos
Usuários
            construção   cache   dados
FIM.

twitter.com/thiagorondon
  www.maluco.com.br

HTTP, Requisição e Resposta