Os métodos HTTP fornecem uma maneira de especificar a ação desejada a ser executada em um determinado recurso. O resultado depende da implementação do servidor e pode ser dados pré-existentes ou dados gerados dinamicamente.

Os métodos HTTP mais comumente usados ​​são GET, POST, PUT, PATCH e DELETE, que correspondem às operações CRUD (criar, ler, atualizar, excluir).

Métodos de solicitação:

  1. GET: O método GET é usado para recuperar informações identificadas por Request-URL. É o principal modo de recuperação de informações. Ele não altera o estado do recurso solicitado e é considerado um método seguro. Se a URL de solicitação se referir a um processo de produção de dados, os dados produzidos serão retornados em resposta, em vez do texto de origem, a menos que o texto seja a saída de um processo.
     
  2. POST: O método POST é usado para enviar dados ao servidor como um corpo de solicitação. Esse método indica que os dados no corpo da solicitação devem ser aceitos e, provavelmente, armazenados no servidor. O cabeçalho Content-Type indica o tipo do corpo da solicitação. É usado principalmente ao enviar um arquivo ou ao enviar um formulário da web completo. As respostas ao método não serão armazenáveis ​​em cache até que a resposta contenha os campos de cabeçalho Cache-Control ou Expires apropriados.
     
  3. PUT: O método PUT é usado para substituir o estado já existente do recurso ou criar o recurso se o recurso não existir (decidido pelo servidor de origem) com a carga útil da solicitação.
     
  4. PATCH: o método PATCH é usado para fazer uma atualização parcial de um recurso. Pode ser considerado um conjunto de instruções que descreve a modificação de dados já presentes no servidor para produzir uma nova versão dos dados e não é considerado o recurso completo.
     
  5. DELETE: O método DELETE é usado para excluir um recurso especificado no servidor de origem. O cliente não pode ter certeza de que a operação foi executada, embora o código de status que é retornado do servidor indique isso.
     
  6. HEAD: O HEAD é idêntico à solicitação GET, mas o servidor não deve enviar o corpo da resposta, mas deve enviar os mesmos cabeçalhos que enviaria se o URI fosse solicitado com o método GET. Ele pode ser usado para obter metadados sem transferir o corpo da resposta do servidor e é freqüentemente usado para testar links de hipertexto para validade, acessibilidade e modificação recente.
     
  7. CONNECT: O método CONNECT é usado para estabelecer um túnel HTTP de ponta a ponta por meio de um servidor proxy.
     
  8. OPÇÕES: as requests do método OPTIONS permitiam opções de comunicação para um determinado recurso. Esta solicitação pode ser enviada para descobrir os métodos HTTP suportados e outras opções que são suportadas sem solicitar o recurso.
     
  9. TRACE: o método TRACE solicita que o servidor envie a solicitação exata, conforme recebida por ele, no corpo da resposta. É útil para fins de diagnóstico.

Uma simples solicitação GET em javascript:

// GET request
fetch("https://jsonplaceholder.typicode.com/users/2")
  
    // Convert reponse to json
      .then((response) => response.json())
      
    // Print data to console
      .then((data) => console.log(data));

Resposta

Terminologias importantes:

  • Seguro: um método HTTP é seguro se não alterar o estado do servidor. Em outras palavras, um método é seguro se puder ser usado apenas para leitura ou recuperação de dados. Vários métodos HTTP são seguros, por exemplo, GET e HEAD. Todos os métodos seguros são idempotentes, mas o inverso não é verdadeiro. Por exemplo, PUT e DELETE, ambos os métodos são idempotentes, mas não seguros.
     
  • Idempotente: um método HTTP é idempotente se a operação produzir o mesmo resultado quando executada uma ou várias vezes, deixando o servidor no mesmo estado. Em outras palavras, um método idempotente não deve causar nenhum efeito indesejado, independentemente do número de vezes que é executado. Os métodos GET, HEAD, PUT e DELETE são idempotentes se implementados corretamente. Todos os métodos seguros também são idempotentes.
     
  • Armazenável em cache : uma resposta armazenável em cache é uma resposta HTTP que pode ser armazenada em cache, que é armazenada para acesso para uso posterior, salvando a nova solicitação no servidor. Isso evita requests desnecessárias ao servidor.

Método de solicitação

A solicitação tem carga útil

A resposta tem carga útil

Seguro

Idempotente

Cacheable

PEGUE

Opcional

 sim

sim

sim 

sim

PUBLICAR



sim

sim

Não

Não

sim

POR

sim

sim

Não

sim

Não

CORREÇÃO

sim

sim

Não

Não

Não

EXCLUIR

Opcional

sim



Não

sim

Não

CABEÇA

Opcional

Não

sim

sim

sim

CONECTAR

Opcional

sim

Não

Não

Não

OPÇÕES

Opcional

sim

sim

sim

Não

VESTÍGIO

Não

sim

sim

sim

Não