Métodos de requisição do HTTP

(Última atualização em: 15 de junho de 2016)

Na Web, todas as vezes que entramos em um site, utilizamos o protocolo HTTP (Hypertext Transfer Protocol) como por exemplo uma requisição para o site do Alura:

pagina-do-alura

Porém, por de trás dos panos, o que acontece exatamente? Vamos abrir a aba desenvolvedores (no google chrome o atalho é F12) e clicar na aba “network”:

pagina-do-alura-no-modo-network

Se realizarmos uma nova requisição a página do Alura vejamos o que acontece:

refresh-na-pagina-do-alura

Observe que apareceram 3 items, ou seja, 3 requisições realizadas ao carregar a página do Alura:

items-da-requicao

Ao clicarmos no item www.alura.com.br:

informacoes-da-requisicao

São exibidas um monte de informações sobre essa requisição, porém, por enquanto, vamos verificar apenas a informação abaixo:

  • Request Method: GET

O que significa esse Request Method? E esse valor GET? Parece bem confuso… Quando falamos sobre request method, nos referimos aos verbos que utilizamos para nos comunicarmos com o servidor, nesse caso, o servidor do Alura! Mas o que isso significa?

O Request Method indica quais são as nossas intenções quando fazemos uma requisição ao servidor, por exemplo, se estamos apenas pegando informações do servidor, como foi o caso da requisição ao site do Alura, utilizaremos o verbo GET.

Porém, qual seria uma situação que não pegaríamos uma informação do servidor? Um formulário de cadastro seria um bom exemplo! Vamos pegar um formulário de um site qualquer na internet, por exemplo, a página de cadastro do github:

pagina-de-cadastro-github

No momento que chamamos pela primeira vez a página, estamos apenas pegando as informações do servidor, ou seja, o verbo será o GET. Agora, vamos tentar criar um novo cadastro colocando um e-mail que já existe no sistema deles:

pagina-de-cadastro-github-no-post

Observe que, ao clicarmos no botão “Create an account” o request method utilizado foi o POST! Mas porque agora foi o POST e não o GET? É justamente porque nós queremos criar, adicionar, enviar informações ao servidor!

Além do GET e do POST, existem outros verbos como o PUT que indica uma alteração de um recurso existente, DELETE para deletar um recurso existente.

Esses e demais verbos são definidos com mais detalhes na especificação da W3C para definição de métodos.

Não tinha nem ideia que existia toda essa padronização por de baixo dos panos em aplicações Web? Que tal aprender mais sobre o protocolo HTTP? Pensando nisso, criamos o curso de HTTP que explica com mais detalhes o protocolo HTTP e seu funcionamento no mundo Web.

Content Editor at Alura and Software Developer

Próximo ArtigoComo acessar o banco de dados com PHP7: mysqli ou PDO?