¿Qué narices es esto?
El error 428 Precondition Required es como un guardia de seguridad que te dice "espera, necesito ver tu identificación antes de dejarte pasar": el servidor requiere que incluyas headers de precondición en tu solicitud.
Este error se usa para prevenir el "problema de lost updates", donde dos usuarios modifican el mismo recurso al mismo tiempo y uno sobrescribe los cambios del otro sin darse cuenta. El servidor te obliga a verificar el estado actual antes de hacer cambios.
- Falta header If-Match o If-None-Match
- Intento de modificar sin verificar ETag
- Política de servidor que requiere precondiciones
- Protección contra actualizaciones concurrentes
⚡ Dato curioso
El 428 se introdujo para combatir el famoso "lost update problem". Es como pedir que confirmes la versión del documento antes de guardarlo, evitando que borres el trabajo de otra persona por accidente.
Lo verás principalmente en APIs REST modernas que implementan control de concurrencia optimista, especialmente en operaciones de UPDATE, DELETE o PUT.