428 Precondition Required (RFC 6585) significa que o servidor de origem exige que a requisição seja condicional. Ele evita o problema da “atualização perdida”: um cliente lê um recurso, modifica-o e o grava de volta com PUT, sobrescrevendo as alterações que outra pessoa fez nesse meio-tempo.
Ao responder com 428 às gravações não condicionais, o servidor obriga os clientes a enviar If-Match com o ETag que leram. Se o recurso tiver mudado, a requisição condicional falha com 412 Precondition Failed, em vez de sobrescrever os dados sem aviso. A resposta deve explicar como reenviar a requisição com sucesso.
Exemplo de resposta
HTTP/1.1 428 Precondition Required
Date: Fri, 06 Nov 2026 10:15:32 GMT
Content-Type: application/json
Content-Length: 71
{"error":"Send If-Match with the current ETag to update this resource"} SEO e verificação de redirecionamentos
Sem impacto em SEO: o 428 se aplica a requisições de gravação em APIs e em edição colaborativa, e as requisições GET dos rastreadores não o acionam.
Causas comuns e casos de uso
- Uma API exige
If-MatchemPUT,PATCHouDELETE, e o cliente não o enviou. - Um serviço de documentos colaborativos impõe bloqueio otimista.
- Uma biblioteca cliente sem suporte a ETag se comunica com uma API desse tipo.