428 Precondition Required (RFC 6585), kaynak sunucunun isteğin koşullu olmasını zorunlu tuttuğu anlamına gelir. Bu, “kayıp güncelleme” sorununu önler: bir istemci bir kaynağı okur, değiştirir ve PUT ile geri yazar; bu sırada başka birinin o arada yaptığı değişikliklerin üzerine yazar.
Sunucu koşulsuz yazma isteklerine 428 ile yanıt vererek istemcileri okudukları ETag değeriyle birlikte If-Match göndermeye zorlar. Kaynak değiştiyse koşullu istek, verilerin sessizce üzerine yazılması yerine 412 Precondition Failed ile başarısız olur. Yanıt, isteğin başarıyla nasıl yeniden gönderileceğini açıklamalıdır.
Örnek yanıt
HTTP/1.1 428 Precondition Required
Date: Fri, 06 Nov 2026 10:15:32 GMT
Content-Type: application/json
Content-Length: 71
{"error":"Send If-Match with the current ETag to update this resource"} SEO ve yönlendirme kontrolü
SEO etkisi yoktur: 428 API'lerdeki ve ortak düzenleme sistemlerindeki yazma isteklerine uygulanır; tarama botlarının GET istekleri bu kodu tetiklemez.
Yaygın nedenler ve kullanım alanları
- Bir API,
PUT,PATCHveyaDELETEiçinIf-Matchzorunlu tutuyor ve istemci bunu göndermedi. - Ortak belge düzenleme hizmeti iyimser kilitleme (optimistic locking) uyguluyor.
- ETag desteği olmayan bir istemci kütüphanesi böyle bir API ile iletişim kuruyor.