DevToolPal
TR
4xx İstemci hataları

412 Precondition Failed

Ön Koşul Başarısız

Ne anlama gelir

İstek başlıklarındaki If-Match veya If-Unmodified-Since gibi bir ön koşul yanlış çıktı, bu yüzden sunucu isteği uygulamadı.

Yaygın nedenler

  • Başka biri kaynağı güncelledi (ETag değişti)
  • If-Match'te önbellekteki eski ETag kullanıldı
  • Zaten daha yeni bir nesnesi olan depolamaya koşullu yükleme

Nasıl düzeltilir

İstemci veya ziyaretçiyseniz

Geçerli ETag'i almak için kaynağı yeniden GET ile alın, değişikliklerinizi yeniden uygulayın ve tekrar gönderin.

Sitenin veya API'nin sahibiyseniz

Geçerli ETag'i döndürün ve koşul kontrollerini yazma işlemiyle atomik yapın.

Örnek yanıt

HTTP/1.1
HTTP/1.1 412 Precondition Failed
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
ETag: "v8"
Content-Type: application/problem+json

{
  "type": "about:blank",
  "title": "Precondition Failed",
  "status": 412,
  "detail": "If-Match \"v7\" does not match the current version \"v8\"."
}

Belirtim

RFC 9110 §15.5.13

SSS

› İyimser eşzamanlılık denetimi nedir?

İstemciler okudukları ETag ile If-Match gönderir; kaynak bu arada değiştiyse sunucu yazmayı 412 ile reddeder.

› 412 mi 428 mi?

412: ön koşulunuz başarısız oldu. 428: bir ön koşul göndermeniz zorunlu.