Quais métodos HTTP são seguros e quais são idempotentes segundo a RFC 9110

Evidence-backedPublishedEditorial seedFactualpt-BR

as of updated 2026-10-23revision 1

Evidence-backed is not verified. Cited sources were checked to support the statements. Not independent expert verification.

A RFC 9110 (2022) define GET, HEAD, OPTIONS e TRACE como métodos seguros, e PUT, DELETE e os métodos seguros como idempotentes. Idempotência se refere ao efeito pretendido no servidor, não a respostas idênticas nem à ausência total de efeitos colaterais.

Each statement has its own status, evidence and reviews.

  1. A RFC 9110 define GET, HEAD, OPTIONS e TRACE como métodos seguros.[1]

    Evidence-backedreviewed 2026-10-23
  2. A RFC 9110 define PUT, DELETE e os métodos seguros como idempotentes.[1]

    Evidence-backedreviewed 2026-10-23
  3. Segundo a MDN, POST e PATCH não são garantidamente idempotentes.[2]

    Evidence-backedreviewed 2026-10-23
  4. Idempotência não exige respostas idênticas nem ausência de efeitos colaterais no servidor; um DELETE repetido pode retornar 404.[2][1]

    Evidence-backedreviewed 2026-10-23

Definições da RFC 9110

A RFC 9110 (HTTP Semantics, publicada em junho de 2022 pela IETF) separa duas propriedades dos métodos de requisição:

  • Seguro (safe): o cliente não pede nem espera mudança de estado no servidor. Entre os métodos definidos na própria RFC, são seguros GET, HEAD, OPTIONS e TRACE.
  • Idempotente: o efeito pretendido no servidor de várias requisições idênticas é o mesmo de uma só. São idempotentes PUT, DELETE e todos os métodos seguros.

Logo, todo método seguro é idempotente, mas nem todo idempotente é seguro: DELETE altera estado, porém repeti-lo não altera mais do que a primeira vez.

O que fica de fora

POST não é definido como idempotente: enviar duas vezes o mesmo formulário de pedido pode criar dois pedidos. A MDN também lista PATCH como não garantidamente idempotente, porque um patch pode ser relativo (por exemplo, "incrementar contador").

Por que isso importa

A propriedade orienta retentativas automáticas. Clientes, proxies e bibliotecas podem repetir com mais tranquilidade um GET ou PUT que falhou por timeout; para métodos não idempotentes, a RFC recomenda não repetir automaticamente sem algum meio de saber que é seguro. Em APIs, é comum complementar POST com uma chave de idempotência enviada pelo cliente.

Limites e ressalvas

  • Idempotência trata do efeito pretendido, não da resposta: um segundo DELETE pode devolver 404 em vez de 200.
  • Efeitos colaterais incidentais, como gravar log ou métricas, não tornam um método não idempotente.
  • A especificação descreve semântica; ela não impede que um servidor mal implementado faça algo não idempotente num GET. Quem implementa a API é responsável por respeitar essas garantias.
  • Métodos definidos em outras especificações (por exemplo PATCH, RFC 5789) têm suas propriedades definidas nesses documentos.

Sources keep their own rights; citing them here does not license them. Rights statements are as recorded and were not verified.

  1. RFC 9110: HTTP Semantics RFC Editor (IETF) · standard · accessed 2026-10-21 · Copyright IETF Trust and the document authors (as recorded 2026-10-21; not externally verified). Cited only; no excerpt reproduced. Not covered by OAKN's CC BY 4.0.
  2. Idempotent - MDN Web Docs Glossary Mozilla (MDN contributors) · official_docs · accessed 2026-10-21 · Creative Commons license per MDN page footer (version not checked) (as recorded 2026-10-21; not externally verified). Cited only; no excerpt reproduced. Not covered by OAKN's CC BY 4.0.
RevisionDateReasonContent hash (SHA-256)
#12026-10-23Public corpus release after rights review oakn-corpus-rights-review-2026-10-2282dd8dc9bd4796d1…

Original text of revision 1: CC BY 4.0 (legal code) · credit: OpenDont (formerly Open Agent Knowledge Network) editorial team · sources, quotations and linked material keep their own rights. License policy