Upload
fabio-nogueira-de-lucena
View
85
Download
3
Embed Size (px)
Citation preview
HTTPNoções
Fábio Nogueira de LucenaInstituto de Informática (UFG)
O que é HTTP?HyperText Transfer Protocol
Comunicação na Web existe como a conhecemos por meio do uso do protocolo HTTP.
Ferramentas e serviços● Chrome (navegador e chrome://net-internals/)● Efetuar/acompanhar requisição/resposta
○ POSTMAN (https://www.getpostman.com/)○ curl (http://curl.haxx.se)○ OWASP Zap (https://goo.gl/Y6oWy)
● Editor○ Brackets (http://brackets.io/) ○ Plunker (http://plnkr.co)
● Testes○ https://httpbin.org/ ○ http://requestb.in/
● Imagens (http://www.coolclips.com) ● Certificado (https://www.sslchecker.com/csr/self_signed)
ComponentesURLMétodo (GET, POST, …)Requisição (mensagem)Resposta (mensagem)Códigos de statusHeaders (campos)MIME Types
URLUniform Resource LocatorSequência de caracteres que identifica um
recurso na internetExemplos
http://www.inf.ufg.brhttp://www.w3.org
URL (detalhes)https://www.google.com/search?q=ufg
Protocolo (scheme): httpsDomínio (servidor): www.google.comPath: searchQuery String: q=ufg
MétodosTambém conhecidos por “verbos”Representa a operação que se deseja realizar
com o recurso identificado pela URLMétodos:
GET, POST, PUT, HEAD, DELETE, OPTIONS, TRACE e CONNECT.
Métodos GET recuperar recurso POST enviar/ocultar dados HEAD apenas cabeçalho de GETOPTIONS métodos para um dado recursoPUT criar um recursoDELETE remover um recursoTRACE recebe o que é enviado
Códigos de statusDetalhes em http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html1xx => informações, 100 => Continua2xx => OK3xx => redirecionamento4xx => requisição não autorizada5xx => erro do servidor
Campos do cabeçalho (header fields)
Accept: text/plain(conteúdo que é aceitável como resposta)
Content-Type: text/plain(formato do conteúdo do corpo)
MIME TypesContenty-Type: text/html; charset=UTF-8
Exemplos de MIME-Types:application/jsonimage/pngtext/html...
GET (http://www.inf.ufg.br)Google Chrome [Control+Shift+I (Network)]
Advanced REST Client
curl (curl.haxx.se) [1/3]curl --helpcurl http://cnn.com
(não é o retorno que é exibido?!)curl http://cnn.com -i
(me envie os headers)curl http://www.cnn.com (sem retorno?)curl http://www.cnn.com -i (mostre headers)curl http://edition.cnn.com (vem o portal…)
Alguma prática com curl [2/3]curl http://cnn.com -i
301 Moved => http://www.cnn.com
curl http://www.cnn.com -i302 Found => http://edition.cnn.com
curl http://edition.cnn.com -i200 OK
curl http://cnn.com -i --locationExecuta os três passos anteriores!
GET (http://www.inf.ufg.br)Fiddler
Resposta (http://www.inf.ufg.br)Fiddler (http://www.telerik.com/download/fiddler)
Considerações finaisHTTP é a base da comunicação na web.
Você agora já deve se sentir mais confiante para aprofundar em algumas questões!