412 Precondition Failed significa que una o varias condiciones de los encabezados de la solicitud resultaron falsas. Es el resultado de un If-Match o un If-Unmodified-Since que no se cumple, o de un If-None-Match que no se cumple en métodos distintos de GET y HEAD. El servidor no realizó la acción solicitada.
Su objetivo principal es evitar la pérdida de actualizaciones (control de concurrencia optimista). Un cliente lee un recurso con su ETag, lo edita y envía el cambio con If-Match y ese ETag. Si otra persona modificó el recurso mientras tanto, el ETag ya no coincide y el servidor responde 412 en lugar de sobrescribir el otro cambio. También se usa con If-None-Match: * para crear un recurso solo si todavía no existe.
En GET y HEAD, un If-None-Match o un If-Modified-Since falso produce 304 Not Modified, no 412.
Ejemplo de respuesta
HTTP/1.1 412 Precondition Failed
Date: Fri, 06 Nov 2026 10:15:32 GMT
ETag: "v8"
Content-Type: application/json
Content-Length: 52
{"error":"If-Match does not match the current ETag"} SEO y verificación de redirecciones
El 412 aparece en las escrituras condicionales de API y WebDAV, no en el rastreo; las solicitudes GET condicionales de los rastreadores dan como resultado 304 o 200. Si una verificación de redirecciones muestra un 412, revisa los encabezados If-* que hayas agregado en Encabezados de solicitud personalizados.
Causas frecuentes y casos de uso
- Se rechazó una edición porque el recurso cambió después de leerlo (el ETag no coincide).
If-None-Match: *impidió que se sobrescribiera un archivo existente.- Una API de almacenamiento en la nube o de CDN recibió una solicitud condicional con un ETag desactualizado.