Julio Bitencourt - Web Developer

Como a internet funciona? Entendendo o protocolo HTTP

February 1, 2021

O HTTP é um protocolo.

Como todo protocolo, o HTTP define regras de comunicação entre dois pontos. Como o seu navegador e um servidor por exemplo.

Quando você visita uma página na web você está enviando uma requisição HTTP e toda requisição HTTP deve ter uma resposta.

No trecho abaixo percebam que uma requisição foi feita ao endereço localhost, que neste caso é o servidor web que está sendo executado em minha máquina local apenas para testes. Em exemplos reais você poderia acessar qualquer site da internet através de uma URL pública ou através de autenticação.

No final do artigo eu coloquei duas ferramentas muito úteis para testar requisições HTTP utilizando o Curl consumindo dados no formato JSON.

Atenção aos trechos GET, HTTP/1.1 e 200 OK

GET é o método HTTP, onde a requisição diz ao destinatário localhost que ela quer pegar uma informação (GET).

alt text

HTTP/1.1 e 200 OK pertencem à resposta do servidor e mostram a versão do HTTP que está sendo utilizada e o status de retorno. Veja os demais status aqui Right pointing backhand index https://httpstatuses.com

O que são os métodos HTTP?

Alguns outros métodos: POST para criar alguma informação, PUT/PATCH para alterar, DELETE para remover, e assim por diante

Usando os métodos, que também são conhecidos como verbos, o servidor pode tomar decisões sobre o que fazer quando um endereço é acessado.

Abaixo as requisições para hipoteticamente retornar os dados de um cliente, alterar os dados do mesmo e a última remove o o cliente.

alt text

Outros pontos muito importantes de uma requisição HTTP são os cabeçalhos headers e o corpo body

Como enviar uma requisição HTTP com cabeçalhos?

Abaixo um exemplo de requisição com um cabeçalho.

alt text

Como enviar uma requisição Post HTTP?

E por último, uma requisição com o método POST para simular um login. Pense em username e password como campos de um formulário HTML.

alt text

Para os exemplos eu usei o curl https://curl.se mas você pode usar o Postman para usar uma interface gráfica e brincar com vários tipos de requisições HTTP.

alt text

2 ferramentas muito úteis para testes de requisições HTTP

{JSON} Placeholder - API fake para testes e criação de protótipos

O JSON Placeholder é uma ferramenta bem legal. Com ele você consegue criar um pequeno servidor com conteúdo JSON para testes bem como testar alguns endpoints pré definidos.

alt text

Curl Builder

Curl Builder é outra ferramenta bem legal e também é muito simples de usar. Basta preencher alguns campos como o método HTTP, a URL, adicionar cabeçalhos e pronto: a requisição HTTP via Curl é exibida para você copiar e testar em seu terminal.

alt text