Referencia técnica independienteSitio oficial
  • Software y sistemas
  • Servicio HTTP

412

HTTP 412 Precondition Failed: el recurso cambió antes de guardar

Verificada con fuentes2 fuentesRevisada 4 oct 2026
¿Viene un técnico? Mira los 2 pasos que debe enseñarte

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.

  1. 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.

  2. 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.

  1. Versión actual del recurso

    Sin herramientas especiales

    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

  2. Cabeceras condicionales de la petición

    Sin herramientas especiales

    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

  3. Comparación de ETag en el servidor

    Sin herramientas especiales

    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. 1

    IANA HTTP Status Code Registry

    Internet Assigned Numbers Authority · 2025 · standard

  2. 2

    RFC 9110 - HTTP Semantics

    IETF / RFC Editor · 2022 · standard

Fuentes: IANA HTTP Status Code Registry · RFC 9110 - HTTP Semanticsrevisado 2026-10-04 · verificado

¿Te ha resultado útil esta ficha?