- Software y sistemas
- Servicio HTTP
412
HTTP 412 Precondition Failed: el recurso cambió antes de guardar
Nivel de riesgo
Seguro
Puedes actuar sin peligro siguiendo las comprobaciones seguras.
Urgencia
Media — atiéndelo hoy
Respuesta rápida
HTTP 412 indica que una condición de tu petición (por ejemplo If-Match) resultó falsa en el servidor, normalmente porque el recurso cambió desde que lo cargaste. Recarga la versión actual, revisa los cambios y vuelve a guardar; no fuerces la sobrescritura sin mirar.
Seguridad primero
Antes de continuar
- No quites la cabecera If-Match para hacer desaparecer el 412: puedes borrar los cambios que otra persona guardó entre tanto.
Puedes hacerlo con seguridad
- Versión actual del recurso
- Cabeceras condicionales de la petición
- Comparación de ETag en el servidor
Deja estas tareas a un profesional cualificado
- No intentes esta tarea profesional: Corrección del flujo de lectura y escritura
- No intentes esta tarea profesional: Revisión de la generación de ETag
Lo que un técnico debe poder justificar
Viene un técnico
Estos son los pasos que tiene que hacer y enseñarte. Márcalos mientras trabaja: si se salta pasos, no aceptes el cambio de pieza.
No son instrucciones para que abras o manipules el equipo. Son las comprobaciones que deben sostener una conclusión técnica.
Corrección del flujo de lectura y escritura
Qué haceEl desarrollador hace que el cliente lea la versión actual (ETag) justo antes de escribir y que, ante un 412, muestre la diferencia al usuario en lugar de sobrescribir.
Te tiene que enseñaruna edición concurrente que termina en aviso y no en pérdida de datos.
Por escritoel cambio en el cliente.
Revisión de la generación de ETag
Qué haceEl administrador del servidor verifica que las ETag cambian solo cuando cambia la representación y que la comparación es la fuerte que exige el estándar.
Te tiene que enseñardos lecturas con la misma ETag y una escritura aceptada.
Por escritola configuración corregida.
Antes de aceptar una pieza o reparación
Aún no ha demostrado nada. No aceptes un cambio de pieza solo por el código.
Sigue estos pasos
Aviso: Sigue el orden documentado. Un código identifica el sistema afectado, pero por sí solo no demuestra qué pieza está averiada.
Versión actual del recurso
- Quién:
- tú, en la aplicación donde editabas.
- Cómo:
- copia tus cambios a un lado, recarga el documento o el registro y compáralo con lo que tenías.
- Resultado que importa:
- si el contenido ha cambiado desde que lo abriste.
- Si ha cambiado:
- confirma una edición concurrente; integra tus cambios sobre la versión nueva y guarda.
- Si no ha cambiado y vuelve el 412:
- apunta a la aplicación o a la precondición; avisa al soporte.
- Evidencia a conservar:
- tus cambios copiados y la hora del fallo.
Evidencia: RFC 9110 section 15.5.13 - 412 Precondition Failed · RFC 9110 section 13.1.1 - If-Match
Cabeceras condicionales de la petición
- Quién:
- el desarrollador del cliente o de la integración.
- Cómo:
- inspecciona la petición que recibe 412 y compara el valor de If-Match enviado con la ETag actual del recurso.
- Resultado que importa:
- si el valor enviado coincide con el actual.
- Si no coincide:
- confirma una versión desactualizada; el cliente debe leer el recurso antes de escribir.
- Si coincide y aun así recibe 412:
- indica un fallo en cómo el servidor genera o compara las ETag.
- Evidencia a conservar:
- petición, respuesta y ETag actual, con datos personales ocultos.
Evidencia: RFC 9110 section 13.1.1 - If-Match
Comparación de ETag en el servidor
- Quién:
- el desarrollador o el administrador del servidor.
- Cómo:
- comprueba que el servidor genera ETag estables y usa la comparación fuerte para If-Match.
- Resultado que importa:
- si la misma versión produce siempre la misma ETag.
- Si la ETag cambia sin que cambie el contenido:
- confirma un fallo del servidor que provoca 412 falsos.
- Si es estable:
- el 412 refleja cambios reales; el fallo está en el cliente.
- Evidencia a conservar:
- dos lecturas seguidas del recurso con su ETag.
Evidencia: RFC 9110 section 13.1.1 - If-Match
Situación no resuelta
Si el error persiste, no sigas probando por tu cuenta. Mira qué tiene que hacer y enseñarte el técnico.
Dónde se aplica este código
Un código solo tiene significado dentro del producto y la versión correctos.
Ámbito principal
- Sistema
- Software y sistemas
- Marca
- HTTP
- Tipo de producto
- Servicio HTTP
Variantes conocidas del código
- 412 Échec de précondition
- 412 Precondición fallida
- 412 Precondition Failed
- 412 Precondizione non riuscita
- 412 Vorbedingung fehlgeschlagen
- HTTP 412
- HTTP status 412
Qué significa
RFC 9110 define 412 (Precondition Failed): una o más condiciones enviadas en las cabeceras de la petición resultaron falsas al evaluarlas en el servidor. Precondiciones como If-Match evitan aplicar un cambio si el recurso no está en el estado esperado. If-Match se usa sobre todo con PUT, POST o DELETE para impedir que dos usuarios se pisen los cambios (la actualización perdida). El código no dice qué cambió en el recurso ni quién lo cambió.
Advertencias y condiciones de parada
- Seguroadvertencia editorial
No quites la cabecera If-Match para hacer desaparecer el 412: puedes borrar los cambios que otra persona guardó entre tanto.
Evidencia: RFC 9110 section 13.1.1 - If-Match
Síntomas y causas
Causas probables · en orden
- Otro usuario o proceso modificó el recursoFrecuente
La etiqueta de versión (ETag) que envías ya no coincide con la actual. Encaja con documentos o registros editados por varias personas a la vez.
Evidencia: RFC 9110 section 15.5.13 - 412 Precondition Failed · RFC 9110 section 13.1.1 - If-Match
- Cliente que envía una versión antigua guardadaPosible
Si la aplicación reutiliza una ETag guardada hace tiempo, la condición falla aunque nadie más haya editado.
Evidencia: RFC 9110 section 13.1.1 - If-Match
- Precondición mal construidaPosible
Una cabecera condicional con un valor incorrecto da siempre falso; se distingue porque falla incluso tras recargar el recurso.
Evidencia: RFC 9110 section 15.5.13 - 412 Precondition Failed
Técnico virtual
¿Sigue apareciendo 412 tras comprobarlo?
Responde unas preguntas para acotar la causa probable y la siguiente acción segura. Es una orientación - nunca sustituye a un profesional.
Fuentes y referencias técnicas
- 1
IANA HTTP Status Code Registry
Internet Assigned Numbers Authority · 2025 · standard
- 2
IETF / RFC Editor · 2022 · standard
¿Te ha resultado útil esta ficha?