Sobes.tech
Junior — Middle

O que são pedidos HTTP não idempotentes e qual a sua diferença para os pedidos idempotentes?

sobes.tech IA

Resposta da IA

Requisições HTTP idempotentes são aquelas que, ao serem repetidas com os mesmos parâmetros, não alteram o estado do servidor após a primeira chamada. Ou seja, independentemente de quantas vezes você envie tal requisição, o resultado será o mesmo e o servidor não fará alterações adicionais.

Exemplos de métodos idempotentes: GET, PUT, DELETE.

Requisições HTTP não idempotentes são aquelas que, ao serem repetidas, podem levar a uma alteração no estado do servidor a cada vez. Por exemplo, uma requisição POST que cria um novo registro, ao ser enviada várias vezes, criará múltiplos registros.

Diferenças:

  • Idempotentes: requisições repetidas não alteram o resultado (por exemplo, atualizar um recurso com os mesmos dados).
  • Não idempotentes: requisições repetidas levam a novas mudanças (por exemplo, criar novos registros).

É importante considerar isso ao projetar APIs e automatizar testes para evitar efeitos colaterais indesejados.