metodologias de programação iv - aula 2, secção 3 - terminologia do protocolo http
TRANSCRIPT
![Page 1: Metodologias de Programação IV - Aula 2, Secção 3 - Terminologia do protocolo HTTP](https://reader036.vdocuments.net/reader036/viewer/2022062707/5583f38ed8b42a33318b4d40/html5/thumbnails/1.jpg)
Terminologia do protocolo HTTP
2011-2012
Metodologias de Programação IV
![Page 2: Metodologias de Programação IV - Aula 2, Secção 3 - Terminologia do protocolo HTTP](https://reader036.vdocuments.net/reader036/viewer/2022062707/5583f38ed8b42a33318b4d40/html5/thumbnails/2.jpg)
http://www.tribunalconstitucional.pt/tc/home.html
![Page 3: Metodologias de Programação IV - Aula 2, Secção 3 - Terminologia do protocolo HTTP](https://reader036.vdocuments.net/reader036/viewer/2022062707/5583f38ed8b42a33318b4d40/html5/thumbnails/3.jpg)
Cliente HTTP(por ex.,
o navegador)
Servidor HTTP(Apache, IIS,
etc.)
Mensagem dopedido HTTP
(Porto 80 de TCP)
Mensagem daresposta HTTP
![Page 4: Metodologias de Programação IV - Aula 2, Secção 3 - Terminologia do protocolo HTTP](https://reader036.vdocuments.net/reader036/viewer/2022062707/5583f38ed8b42a33318b4d40/html5/thumbnails/4.jpg)
Cliente HTTP(por ex.,
o navegador)
Servidor HTTP(Apache, IIS,
etc.)
Mensagem dopedido HTTP
Mensagem daresposta HTTP
Protocolo sem estado (“stateless”)
![Page 5: Metodologias de Programação IV - Aula 2, Secção 3 - Terminologia do protocolo HTTP](https://reader036.vdocuments.net/reader036/viewer/2022062707/5583f38ed8b42a33318b4d40/html5/thumbnails/5.jpg)
Cliente HTTP(por ex., o
navegador)
Servidor HTTP(IIS, Apache,
etc.)
Pedido
Resposta
Proxy
ProxyPedido
Resposta
RespostaPedido
RespostaPedido
Mais proxies e c.ª
![Page 6: Metodologias de Programação IV - Aula 2, Secção 3 - Terminologia do protocolo HTTP](https://reader036.vdocuments.net/reader036/viewer/2022062707/5583f38ed8b42a33318b4d40/html5/thumbnails/6.jpg)
Pedidos e
Respostassão
Mensagensdo protocolo HTTP
![Page 7: Metodologias de Programação IV - Aula 2, Secção 3 - Terminologia do protocolo HTTP](https://reader036.vdocuments.net/reader036/viewer/2022062707/5583f38ed8b42a33318b4d40/html5/thumbnails/7.jpg)
Mensagens do HTTP
PedidoLinha de pedido CRLFLinhas de cabeçalhos CRLFCRLFCorpo
RespostaLinha de estado CRLFLinhas de cabeçalhos CRLFCRLFCorpo
![Page 8: Metodologias de Programação IV - Aula 2, Secção 3 - Terminologia do protocolo HTTP](https://reader036.vdocuments.net/reader036/viewer/2022062707/5583f38ed8b42a33318b4d40/html5/thumbnails/8.jpg)
Mensagens do HTTP
PedidoLinha de pedido CRLFLinhas de cabeçalhos CRLFCRLFCorpo
RespostaLinha de estado CRLFLinhas de cabeçalhos CRLFCRLFCorpo
Linha de pedido:Método URI-do-pedido Versão-do-HTTP
![Page 9: Metodologias de Programação IV - Aula 2, Secção 3 - Terminologia do protocolo HTTP](https://reader036.vdocuments.net/reader036/viewer/2022062707/5583f38ed8b42a33318b4d40/html5/thumbnails/9.jpg)
Mensagens do HTTP
PedidoLinha de pedido CRLFLinhas de cabeçalhos CRLFCRLFCorpo
RespostaLinha de estado CRLFLinhas de cabeçalhos CRLFCRLFCorpo
Linha de estado:Versão-do-HTTP Código-de-estado Motivo
![Page 10: Metodologias de Programação IV - Aula 2, Secção 3 - Terminologia do protocolo HTTP](https://reader036.vdocuments.net/reader036/viewer/2022062707/5583f38ed8b42a33318b4d40/html5/thumbnails/10.jpg)
http://www.tribunalconstitucional.pt/tc/home.html
Pedido HTTP
GET /tc/home.html HTTP/1.1Host: www.tribunalconstitucional.pt
![Page 11: Metodologias de Programação IV - Aula 2, Secção 3 - Terminologia do protocolo HTTP](https://reader036.vdocuments.net/reader036/viewer/2022062707/5583f38ed8b42a33318b4d40/html5/thumbnails/11.jpg)
http://www.tribunalconstitucional.pt/tc/home.html
Pedido HTTP
GET /tc/home.html HTTP/1.1Host: www.tribunalconstitucional.pt
Linha de pedido
![Page 12: Metodologias de Programação IV - Aula 2, Secção 3 - Terminologia do protocolo HTTP](https://reader036.vdocuments.net/reader036/viewer/2022062707/5583f38ed8b42a33318b4d40/html5/thumbnails/12.jpg)
http://www.tribunalconstitucional.pt/tc/home.html
Pedido HTTP
GET /tc/home.html HTTP/1.1Host: www.tribunalconstitucional.pt
Linha de cabeçalho
![Page 13: Metodologias de Programação IV - Aula 2, Secção 3 - Terminologia do protocolo HTTP](https://reader036.vdocuments.net/reader036/viewer/2022062707/5583f38ed8b42a33318b4d40/html5/thumbnails/13.jpg)
http://www.tribunalconstitucional.pt/tc/home.html
Resposta HTTP
HTTP/1.1 200 OKContent-Type: text/htmlContent-Length: 9934...<HTML>...
![Page 14: Metodologias de Programação IV - Aula 2, Secção 3 - Terminologia do protocolo HTTP](https://reader036.vdocuments.net/reader036/viewer/2022062707/5583f38ed8b42a33318b4d40/html5/thumbnails/14.jpg)
http://www.tribunalconstitucional.pt/tc/home.html
Resposta HTTP
HTTP/1.1 200 OKContent-Type: text/htmlContent-Length: 9934...<HTML>...
Linha de estado
Linhas de cabeçalhos
Corpo
![Page 15: Metodologias de Programação IV - Aula 2, Secção 3 - Terminologia do protocolo HTTP](https://reader036.vdocuments.net/reader036/viewer/2022062707/5583f38ed8b42a33318b4d40/html5/thumbnails/15.jpg)
http://www.tribunalconstitucional.pt/tc/conteudo/files/pagina/mouraramos.jpg
Resposta HTTP
HTTP/1.1 200 OKContent-Type: image/jpegContent-Length: 26610...ÿØÿà JFIF ð ð ÿÛ C
![Page 16: Metodologias de Programação IV - Aula 2, Secção 3 - Terminologia do protocolo HTTP](https://reader036.vdocuments.net/reader036/viewer/2022062707/5583f38ed8b42a33318b4d40/html5/thumbnails/16.jpg)
Métodos dos pedidos• HTTP 0.9– GET
• HTTP 1.0– HEAD– POST
• HTTP 1.1– PUT– DELETE– OPTIONS– TRACE– CONNECT
![Page 17: Metodologias de Programação IV - Aula 2, Secção 3 - Terminologia do protocolo HTTP](https://reader036.vdocuments.net/reader036/viewer/2022062707/5583f38ed8b42a33318b4d40/html5/thumbnails/17.jpg)
Métodos dos pedidos
Pedir um recurso (página Web, imagem, etc.)
• HTTP 0.9– GET
• HTTP 1.0– HEAD– POST
• HTTP 1.1– PUT– DELETE– OPTIONS– TRACE– CONNECT
![Page 18: Metodologias de Programação IV - Aula 2, Secção 3 - Terminologia do protocolo HTTP](https://reader036.vdocuments.net/reader036/viewer/2022062707/5583f38ed8b42a33318b4d40/html5/thumbnails/18.jpg)
Métodos dos pedidos
Pedir para enviar informações no corpo do pedido (para submeter formulários, por
exemplo)
• HTTP 0.9– GET
• HTTP 1.0– HEAD– POST
• HTTP 1.1– PUT– DELETE– OPTIONS– TRACE– CONNECT
![Page 19: Metodologias de Programação IV - Aula 2, Secção 3 - Terminologia do protocolo HTTP](https://reader036.vdocuments.net/reader036/viewer/2022062707/5583f38ed8b42a33318b4d40/html5/thumbnails/19.jpg)
Métodos dos pedidos• HTTP 0.9– GET
• HTTP 1.0– HEAD– POST
• HTTP 1.1– PUT– DELETE– OPTIONS– TRACE– CONNECT
Pedir só os cabeçalhos de um recurso (headers),
não o corpo.Para comparar versões, por ex.
![Page 20: Metodologias de Programação IV - Aula 2, Secção 3 - Terminologia do protocolo HTTP](https://reader036.vdocuments.net/reader036/viewer/2022062707/5583f38ed8b42a33318b4d40/html5/thumbnails/20.jpg)
Métodos dos pedidos• HTTP 0.9– GET
• HTTP 1.0– HEAD– POST
• HTTP 1.1– PUT– DELETE– OPTIONS– TRACE– CONNECT
Pedir para guardar um recurso no
servidor (upload).
![Page 21: Metodologias de Programação IV - Aula 2, Secção 3 - Terminologia do protocolo HTTP](https://reader036.vdocuments.net/reader036/viewer/2022062707/5583f38ed8b42a33318b4d40/html5/thumbnails/21.jpg)
Formulário
![Page 22: Metodologias de Programação IV - Aula 2, Secção 3 - Terminologia do protocolo HTTP](https://reader036.vdocuments.net/reader036/viewer/2022062707/5583f38ed8b42a33318b4d40/html5/thumbnails/22.jpg)
<formname="Pesquisa“method="post“action="contactos/temp.asp“><input name="txtPesquisa" type="text“ alt="Procura alguém?" size="13“
maxlength="255"> <input name="Pesquisar" type="image“ id="Pesquisar" title="Pesquisar“ src="/img/pt/tmpl/lupa.gif” alt="Pesquisar" width="26" height="21" border="0"> </form>
![Page 23: Metodologias de Programação IV - Aula 2, Secção 3 - Terminologia do protocolo HTTP](https://reader036.vdocuments.net/reader036/viewer/2022062707/5583f38ed8b42a33318b4d40/html5/thumbnails/23.jpg)
<formname="Pesquisa“method="post“action="contactos/temp.asp“><input name="txtPesquisa" type="text“ alt="Procura alguém?" size="13“
maxlength="255"> <input name="Pesquisar" type="image“ id="Pesquisar" title="Pesquisar“ src="/img/pt/tmpl/lupa.gif” alt="Pesquisar" width="26" height="21" border="0"> </form>
![Page 24: Metodologias de Programação IV - Aula 2, Secção 3 - Terminologia do protocolo HTTP](https://reader036.vdocuments.net/reader036/viewer/2022062707/5583f38ed8b42a33318b4d40/html5/thumbnails/24.jpg)
Qual a diferença entre usar “POST” ou “GET” neste formulário?
Leonel
![Page 25: Metodologias de Programação IV - Aula 2, Secção 3 - Terminologia do protocolo HTTP](https://reader036.vdocuments.net/reader036/viewer/2022062707/5583f38ed8b42a33318b4d40/html5/thumbnails/25.jpg)
<formname="Pesquisa“method=“get“action="contactos/temp.asp“><input name="txtPesquisa" type="text“ alt="Procura alguém?" size="13“
maxlength="255"> <input name="Pesquisar" type="image“ id="Pesquisar" title="Pesquisar“ src="/img/pt/tmpl/lupa.gif” alt="Pesquisar" width="26" height="21" border="0"> </form>
![Page 26: Metodologias de Programação IV - Aula 2, Secção 3 - Terminologia do protocolo HTTP](https://reader036.vdocuments.net/reader036/viewer/2022062707/5583f38ed8b42a33318b4d40/html5/thumbnails/26.jpg)
Pedido HTTP
GET /pt/contactos/temp.asp?txtPesquisa=Leonel HTTP/1.1Host: www.utad.pt
![Page 27: Metodologias de Programação IV - Aula 2, Secção 3 - Terminologia do protocolo HTTP](https://reader036.vdocuments.net/reader036/viewer/2022062707/5583f38ed8b42a33318b4d40/html5/thumbnails/27.jpg)
<formname="Pesquisa“method="post“action="contactos/temp.asp“><input name="txtPesquisa" type="text“ alt="Procura alguém?" size="13“
maxlength="255"> <input name="Pesquisar" type="image“ id="Pesquisar" title="Pesquisar“ src="/img/pt/tmpl/lupa.gif” alt="Pesquisar" width="26" height="21" border="0"> </form>
![Page 28: Metodologias de Programação IV - Aula 2, Secção 3 - Terminologia do protocolo HTTP](https://reader036.vdocuments.net/reader036/viewer/2022062707/5583f38ed8b42a33318b4d40/html5/thumbnails/28.jpg)
Pedido HTTP
POST /pt/contactos/temp.asp/ HTTP/1.1Host: www.utad.pt
txtPesquisa=Leonel
![Page 29: Metodologias de Programação IV - Aula 2, Secção 3 - Terminologia do protocolo HTTP](https://reader036.vdocuments.net/reader036/viewer/2022062707/5583f38ed8b42a33318b4d40/html5/thumbnails/29.jpg)
Leituras associadas
Web Application Architecture, Second EditionCap. 3: “Birth of theWeb: HTTP”, págs. 29 a 41.
Hypertext Transfer Protocol -- HTTP/1.1http://www.w3.org/Protocols/rfc2616/rfc2616.html
![Page 30: Metodologias de Programação IV - Aula 2, Secção 3 - Terminologia do protocolo HTTP](https://reader036.vdocuments.net/reader036/viewer/2022062707/5583f38ed8b42a33318b4d40/html5/thumbnails/30.jpg)
ELEMENTOS DO HTTP(CÓDIGOS DE ESTADO, CABEÇALHOS E TIPOS MIME)
Próxima aula