Pular para o conteúdo
Gabinete do HTTP

/static/gabinete/curiosidade/428/

Menu

HTP-020 · Erros do cliente (4xx)

428 Precondition Required

Sem If-Match não tem conversa: o código que previne a atualização perdida.

Dois clientes leem o mesmo recurso, os dois escrevem, e o segundo apaga sem saber o que o primeiro fez — o lost update. A RFC 6585 criou o 428 para o servidor exigir pedidos condicionais: mande de novo, mas com If-Match e o ETag da versão que você leu.

APIs REST cuidadosas o devolvem em PUT e PATCH sem precondição. É o servidor dando aula de concorrência ao cliente, um erro de cada vez — e um dos poucos códigos cuja presença indica capricho de quem o emite.

HTTP/1.1 428 Precondition Required
Content-Type: application/json

{"error": "PUT requires If-Match"}
Escreva só se ninguém escreveu no meio do caminho.