18
HTTP Noções Fábio Nogueira de Lucena Instituto de Informática (UFG)

HTTP: Um Curso Básico

Embed Size (px)

Citation preview

Page 1: HTTP: Um Curso Básico

HTTPNoções

Fábio Nogueira de LucenaInstituto de Informática (UFG)

Page 2: HTTP: Um Curso Básico

O que é HTTP?HyperText Transfer Protocol

Comunicação na Web existe como a conhecemos por meio do uso do protocolo HTTP.

Page 3: HTTP: Um Curso Básico

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)

Page 4: HTTP: Um Curso Básico

ComponentesURLMétodo (GET, POST, …)Requisição (mensagem)Resposta (mensagem)Códigos de statusHeaders (campos)MIME Types

Page 5: HTTP: Um Curso Básico

URLUniform Resource LocatorSequência de caracteres que identifica um

recurso na internetExemplos

http://www.inf.ufg.brhttp://www.w3.org

Page 6: HTTP: Um Curso Básico

URL (detalhes)https://www.google.com/search?q=ufg

Protocolo (scheme): httpsDomínio (servidor): www.google.comPath: searchQuery String: q=ufg

Page 7: HTTP: Um Curso Básico

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.

Page 8: HTTP: Um Curso Básico

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

Page 9: HTTP: Um Curso Básico

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

Page 10: HTTP: Um Curso Básico

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)

Page 11: HTTP: Um Curso Básico

MIME TypesContenty-Type: text/html; charset=UTF-8

Exemplos de MIME-Types:application/jsonimage/pngtext/html...

Page 12: HTTP: Um Curso Básico

GET (http://www.inf.ufg.br)Google Chrome [Control+Shift+I (Network)]

Page 13: HTTP: Um Curso Básico

Advanced REST Client

Page 14: HTTP: Um Curso Básico

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…)

Page 15: HTTP: Um Curso Básico

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!

Page 16: HTTP: Um Curso Básico

GET (http://www.inf.ufg.br)Fiddler

Page 17: HTTP: Um Curso Básico

Resposta (http://www.inf.ufg.br)Fiddler (http://www.telerik.com/download/fiddler)

Page 18: HTTP: Um Curso Básico

Considerações finaisHTTP é a base da comunicação na web.

Você agora já deve se sentir mais confiante para aprofundar em algumas questões!