TrueURL

412 Precondition Failed

Warunek w nagłówkach żądania, np. If-Match lub If-Unmodified-Since, okazał się fałszywy, więc serwer nie wprowadził zmiany.

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

412 Precondition Failed oznacza, że co najmniej jeden warunek w nagłówkach żądania okazał się fałszywy. Jest to wynik niespełnionego If-Match lub If-Unmodified-Since albo niespełnionego If-None-Match przy metodach innych niż GET i HEAD. Serwer nie wykonał żądanej operacji.

Głównym celem tego kodu jest zapobieganie utracie aktualizacji (optymistyczna kontrola współbieżności). Klient odczytuje zasób wraz z jego ETag, edytuje go i wysyła zmianę z If-Match i tym ETagiem. Jeśli w międzyczasie ktoś inny zmienił zasób, ETag już się nie zgadza i serwer odpowiada kodem 412, zamiast nadpisać cudzą zmianę. Kod ten stosuje się też z If-None-Match: *, aby utworzyć zasób tylko wtedy, gdy jeszcze nie istnieje.

Przy GET i HEAD fałszywy warunek If-None-Match lub If-Modified-Since skutkuje odpowiedzią 304 Not Modified, a nie 412.

Przykładowa odpowiedź

HTTP
HTTP/1.1 412 Precondition Failed
Date: Fri, 06 Nov 2026 10:15:32 GMT
ETag: "v8"
Content-Type: application/json
Content-Length: 52

{"error":"If-Match does not match the current ETag"}

SEO i sprawdzanie przekierowań

Kod 412 pojawia się przy zapisach warunkowych w API i WebDAV, a nie przy indeksowaniu; warunkowe żądania GET wysyłane przez roboty kończą się kodem 304 lub 200. Jeśli sprawdzanie przekierowań pokazuje 412, przejrzyj nagłówki If-* dodane jako własne nagłówki żądania.

Typowe przyczyny i zastosowania

  • Edycję odrzucono, bo zasób zmienił się po odczytaniu (niezgodny ETag).
  • If-None-Match: * zapobiegł nadpisaniu istniejącego pliku.
  • API magazynu w chmurze lub CDN otrzymało żądanie warunkowe z nieaktualnym ETagiem.

Sprawdzanie przekierowań URL

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