428
Precondition Required
Specifikace stavového kódu HTTP 428
Stavový kód 428 Precondition Required označuje, že server původu vyžaduje, aby byl požadavek podmíněný.
Typicky se používá k zamezení problému "ztracené aktualizace", kdy klient GETuje stav prostředku, změní jej a PUTuje zpět na server, zatímco mezitím třetí strana změnila stav na serveru, což vede ke konfliktu. Vyžadováním podmíněnosti požadavků může server zajistit, že klienti pracují se správnými kopiemi.
Odpovědi používající tento stavový kód MUSÍ vysvětlovat, jak požadavek úspěšně znovu odeslat.
Odpovědi se stavovým kódem 428 Precondition Required NESMÍ být uloženy do mezipaměti.
Zdroj / Citace z: Stavový kód 428 Precondition Required HTTP je specifikován v oddílu 3 oddílu RFC6585.
Protokol HTTP
Jak vyhodit stavový kód 428 pomocí PHP?
Pro zobrazení stavového kódu HTTP 428 na webové stránce lze použít funkci PHP http_response_code. Syntaxe je následující: http_response_code(428) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
Testování stavového kódu HTTP 428
Aby bylo možné zobrazit stavový kód HTTP (v tomto případě 428 Precondition Required) a další informace na straně klienta, je třeba otevřít vývojovou konzolu pomocí klávesy F12. Poté přejděte na kartu "Síť". Nyní lze stránku otevřít, webová stránka (příklad index.php) by měla být viditelná na kartě sítě. Ta musí být vybrána a poté musí být vybrána sekce Herder. Uživatel pak uvidí následující výsledek:
URL: https://http-statuscode.com/errorCodeExample.php?code=428
Stav: 428 Precondition Required
Tyto stránky: Network
IP adresa: XX.XX.XX.XX
Jak vytvořit vlastní chybovou stránku pro stavový kód 428
Apache Webserver
Webový server Apache je jedním z nejběžnějších webových serverů na internetu. Chcete-li vytvořit vlastní chybovou stránku 428 Precondition Required v serveru "Apache", je třeba provést následující změnu v následujícím souboru.
NGINX Webserver
Podobně jako webový server Apache se na internetu hojně používá i NGINX. Chcete-li vytvořit vlastní chybovou stránku 428 Precondition Required v serveru "NGINX", je třeba provést následující změnu v následujícím souboru.
location = /428.html {
root /usr/share/nginx/html;
internal;
}
Kompatibilita stavového kódu 428 s prohlížeči
Chrome | no data |
Edge | no data |
Firefox | no data |
Opera | no data |
Safari | no data |
Chrome Android | no data |
Firefox for Android | no data |
Opera Android | no data |
Safari on iOS | no data |
Internet | no data |
WebView Android | no data |
Konstanty v programovacích jazycích
http.StatusPreconditionRequired
Response::HTTP_PRECONDITION_REQUIRED
:precondition_required