Metodologias de Programação IV - Aula 2, Secção 3 - Terminologia do protocolo HTTP

8.649 visualizações

Publicada em

Publicada em: Educação
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
8.649
No SlideShare
0
A partir de incorporações
0
Número de incorporações
7.521
Ações
Compartilhamentos
0
Downloads
28
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Metodologias de Programação IV - Aula 2, Secção 3 - Terminologia do protocolo HTTP

  1. 1. Terminologia do protocolo HTTP<br />2011-2012<br />Metodologias de Programação IV<br />
  2. 2. http://www.tribunalconstitucional.pt/tc/home.html<br />
  3. 3. Mensagem dopedido HTTP<br />(Porto 80 de TCP)<br />Cliente HTTP<br />(por ex.,o navegador)<br />Servidor HTTP(Apache, IIS, etc.)<br />Mensagem daresposta HTTP<br />
  4. 4. Mensagem dopedido HTTP<br />Cliente HTTP<br />(por ex.,o navegador)<br />Servidor HTTP(Apache, IIS, etc.)<br />Mensagem daresposta HTTP<br />Protocolo sem estado (“stateless”)<br />
  5. 5. Cliente HTTP<br />(por ex., o navegador)<br />Proxy<br />Pedido<br />Resposta<br />Pedido<br />Pedido<br />Resposta<br />Mais proxies e c.ª<br />Resposta<br />Pedido<br />Resposta<br />Proxy<br />Servidor HTTP(IIS, Apache, etc.)<br />
  6. 6. Pedidos <br />e <br />Respostas<br />são<br />Mensagens<br />do protocolo HTTP<br />
  7. 7. Mensagens do HTTP<br />Pedido<br />Linha de pedido CRLF<br />Linhas de cabeçalhos CRLF<br />CRLF<br />Corpo<br />Resposta<br />Linha de estado CRLF<br />Linhas de cabeçalhos CRLF<br />CRLF<br />Corpo<br />
  8. 8. Mensagens do HTTP<br />Pedido<br />Linha de pedido CRLF<br />Linhas de cabeçalhos CRLF<br />CRLF<br />Corpo<br />Resposta<br />Linha de estado CRLF<br />Linhas de cabeçalhos CRLF<br />CRLF<br />Corpo<br />Linha de pedido:<br />Método URI-do-pedido Versão-do-HTTP<br />
  9. 9. Mensagens do HTTP<br />Pedido<br />Linha de pedido CRLF<br />Linhas de cabeçalhos CRLF<br />CRLF<br />Corpo<br />Resposta<br />Linha de estado CRLF<br />Linhas de cabeçalhos CRLF<br />CRLF<br />Corpo<br />Linha de estado:<br />Versão-do-HTTP Código-de-estado Motivo<br />
  10. 10. http://www.tribunalconstitucional.pt/tc/home.html<br />Pedido HTTP<br />GET /tc/home.html HTTP/1.1<br />Host: www.tribunalconstitucional.pt<br />
  11. 11. http://www.tribunalconstitucional.pt/tc/home.html<br />Pedido HTTP<br />GET /tc/home.html HTTP/1.1<br />Host: www.tribunalconstitucional.pt<br />Linha de pedido<br />
  12. 12. http://www.tribunalconstitucional.pt/tc/home.html<br />Pedido HTTP<br />GET /tc/home.html HTTP/1.1<br />Host: www.tribunalconstitucional.pt<br />Linha de cabeçalho<br />
  13. 13. http://www.tribunalconstitucional.pt/tc/home.html<br />Resposta HTTP<br />HTTP/1.1 200 OK<br />Content-Type: text/html<br />Content-Length: 9934<br />...<br /><HTML>...<br />
  14. 14. http://www.tribunalconstitucional.pt/tc/home.html<br />Resposta HTTP<br />Linha de estado<br />HTTP/1.1 200 OK<br />Content-Type: text/html<br />Content-Length: 9934<br />...<br /><HTML>...<br />Linhas de cabeçalhos<br />Corpo<br />
  15. 15. http://www.tribunalconstitucional.pt/tc/conteudo/files/pagina/mouraramos.jpg<br />Resposta HTTP<br />HTTP/1.1 200 OK<br />Content-Type: image/jpeg<br />Content-Length: 26610<br />...<br />ÿØÿà JFIF ð ð ÿÛ C <br />
  16. 16. Métodos dos pedidos<br /><ul><li>HTTP 0.9
  17. 17. GET
  18. 18. HTTP 1.0
  19. 19. HEAD
  20. 20. POST
  21. 21. HTTP 1.1
  22. 22. PUT
  23. 23. DELETE
  24. 24. OPTIONS
  25. 25. TRACE
  26. 26. CONNECT</li></li></ul><li>Métodos dos pedidos<br />HTTP 0.9<br />GET<br />HTTP 1.0<br />HEAD<br />POST<br />HTTP 1.1<br />PUT<br />DELETE<br />OPTIONS<br />TRACE<br />CONNECT<br />Pedir um recurso (página Web, imagem, etc.)<br />
  27. 27. Métodos dos pedidos<br /><ul><li>HTTP 0.9
  28. 28. GET
  29. 29. HTTP 1.0
  30. 30. HEAD
  31. 31. POST
  32. 32. HTTP 1.1
  33. 33. PUT
  34. 34. DELETE
  35. 35. OPTIONS
  36. 36. TRACE
  37. 37. CONNECT</li></ul>Pedir para enviar informações no corpo do pedido (para submeter formulários, por exemplo)<br />
  38. 38. Métodos dos pedidos<br />HTTP 0.9<br />GET<br />HTTP 1.0<br />HEAD<br />POST<br />HTTP 1.1<br />PUT<br />DELETE<br />OPTIONS<br />TRACE<br />CONNECT<br />Pedir só os cabeçalhos de um recurso (headers), não o corpo.<br />Para comparar versões, por ex.<br />
  39. 39. Métodos dos pedidos<br />HTTP 0.9<br />GET<br />HTTP 1.0<br />HEAD<br />POST<br />HTTP 1.1<br />PUT<br />DELETE<br />OPTIONS<br />TRACE<br />CONNECT<br />Pedir para guardar um recurso no servidor (upload).<br />
  40. 40. Formulário<br />
  41. 41. <form<br /> name="Pesquisa“<br /> method="post“<br /> action="contactos/temp.asp“><br /> <input name="txtPesquisa" type="text“<br /> alt="Procura alguém?" size="13“<br /> maxlength="255"> <br /> <input name="Pesquisar" type="image“<br /> id="Pesquisar" title="Pesquisar“<br /> src="/img/pt/tmpl/lupa.gif”<br /> alt="Pesquisar" width="26" <br /> height="21" border="0"> </form><br />
  42. 42. <form<br /> name="Pesquisa“<br /> method="post“<br /> action="contactos/temp.asp“><br /> <input name="txtPesquisa" type="text“<br /> alt="Procura alguém?" size="13“<br /> maxlength="255"> <br /> <input name="Pesquisar" type="image“<br /> id="Pesquisar" title="Pesquisar“<br /> src="/img/pt/tmpl/lupa.gif”<br /> alt="Pesquisar" width="26" <br /> height="21" border="0"> </form><br />
  43. 43. Qual a diferença entre usar “POST” ou “GET” neste formulário?<br />Leonel<br />
  44. 44. <form<br /> name="Pesquisa“<br /> method=“get“<br /> action="contactos/temp.asp“><br /> <input name="txtPesquisa" type="text“<br /> alt="Procura alguém?" size="13“<br /> maxlength="255"> <br /> <input name="Pesquisar" type="image“<br /> id="Pesquisar" title="Pesquisar“<br /> src="/img/pt/tmpl/lupa.gif”<br /> alt="Pesquisar" width="26" <br /> height="21" border="0"> </form><br />
  45. 45. Pedido HTTP<br />GET /pt/contactos/temp.asp?txtPesquisa=Leonel HTTP/1.1<br />Host: www.utad.pt<br />
  46. 46. <form<br /> name="Pesquisa“<br /> method="post“<br /> action="contactos/temp.asp“><br /> <input name="txtPesquisa" type="text“<br /> alt="Procura alguém?" size="13“<br /> maxlength="255"> <br /> <input name="Pesquisar" type="image“<br /> id="Pesquisar" title="Pesquisar“<br /> src="/img/pt/tmpl/lupa.gif”<br /> alt="Pesquisar" width="26" <br /> height="21" border="0"> </form><br />
  47. 47. Pedido HTTP<br />POST /pt/contactos/temp.asp/HTTP/1.1<br />Host: www.utad.pt<br />txtPesquisa=Leonel<br />
  48. 48. Leituras associadas<br />Web ApplicationArchitecture, Second Edition<br />Cap. 3: “Birth of theWeb: HTTP”, págs. 29 a 41.<br />HypertextTransferProtocol -- HTTP/1.1<br />http://www.w3.org/Protocols/rfc2616/rfc2616.html<br />
  49. 49. elementos do HTTP(Códigos de estado, cabeçalhos e TIPOS MIME)<br />Próxima aula<br />

×