TrueURL

428 Precondition Required

Serwer wymaga, aby żądanie było warunkowe (If-Match), co zapobiega utracie aktualizacji, gdy kilku klientów edytuje ten sam zasób.

Opis słowny
Precondition Required
Przekierowanie
Nie
Domyślne buforowanie
Nie

428 Precondition Required (RFC 6585) oznacza, że serwer źródłowy wymaga, by żądanie było warunkowe. Zapobiega to problemowi „utraconej aktualizacji”: klient odczytuje zasób, modyfikuje go i zapisuje z powrotem metodą PUT, nadpisując zmiany, które ktoś inny wprowadził w międzyczasie.

Odpowiadając kodem 428 na bezwarunkowe zapisy, serwer zmusza klientów do wysyłania If-Match z odczytanym wcześniej ETag. Jeśli zasób się zmienił, żądanie warunkowe kończy się wtedy błędem 412 Precondition Failed, zamiast po cichu nadpisać dane. Odpowiedź powinna wyjaśniać, jak ponownie wysłać żądanie, aby się powiodło.

Przykładowa odpowiedź

HTTP
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 i sprawdzanie przekierowań

Brak wpływu na SEO: kod 428 dotyczy żądań zapisu w API i przy wspólnej edycji, a żądania GET wysyłane przez roboty go nie wywołują.

Typowe przyczyny i zastosowania

  • API wymaga If-Match przy PUT, PATCH lub DELETE, a klient go nie wysłał.
  • Usługa do wspólnej edycji dokumentów wymusza blokowanie optymistyczne.
  • Biblioteka klienta bez obsługi ETagów komunikuje się z takim API.

Sprawdzanie przekierowań URL

Zobacz wszystkie kody odpowiedzi, jakie zwraca adres URL, przeskok po przeskoku, w darmowym narzędziu TrueURL do sprawdzania przekierowań.