428
Precondition Required
Specifikation af HTTP-statuskode 428
Statuskoden 428 Precondition Required angiver, at origin-serveren kræver, at anmodningen er betinget.
Den bruges typisk til at undgå problemet med "tabt opdatering", hvor en klient henter en ressourcestatus, ændrer den og PUT'er den tilbage til serveren, når en tredjepart i mellemtiden har ændret tilstanden på serveren, hvilket fører til en konflikt. Ved at kræve, at anmodninger skal være betingede, kan serveren sikre, at klienterne arbejder med de korrekte kopier.
Svar, der anvender denne statuskode, SKAL forklare, hvordan anmodningen kan sendes igen med succes.
Svar med statuskode 428 Precondition Required MÅ IKKE lagres af en cache.
Kilde / citat fra: HTTP-statuskoden 428 Precondition Required er specificeret i afsnit 3 i RFC6585.
HTTP-protokol
Hvordan får man en 428-statuskode med PHP?
Hvis du vil have HTTP-statuskoden 428 på en webside, kan du bruge PHP-funktionen http_response_code. Syntaksen er som følger: http_response_code(428) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
Test 428 HTTP-statuskoden
For at kunne vise HTTP-statuskoden (i dette tilfælde 428 Precondition Required) og andre oplysninger på klientsiden skal udviklingskonsollen åbnes med F12. Naviger derefter til fanen "Network" (netværk). Nu kan siden åbnes, hjemmesiden (eksempel index.php) skal være synlig i fanen netværk. Denne skal vælges, og derefter skal Herder-sektionen vælges. Brugeren vil derefter se følgende resultat:
URL: https://http-statuscode.com/errorCodeExample.php?code=428
Status: 428 Precondition Required
Disse: Network
IP-adresse: XX.XX.XX.XX
Sådan opretter du din egen fejlside for statuskode 428
Apache Webserver
Webserveren "Apache" er en af de mest almindelige webservere på internettet. For at oprette din egen 428 Precondition Required-fejlside i "Apache" skal du foretage følgende ændring i følgende fil.
NGINX Webserver
I lighed med webserveren "Apache" er "NGINX" også meget udbredt på internettet. For at oprette din egen 428 Precondition Required-fejlside i "NGINX" skal du foretage følgende ændring i følgende fil.
location = /428.html {
root /usr/share/nginx/html;
internal;
}
Browserkompatibilitet for 428-statuskoden
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 |
Konstanter i programmeringssprog
http.StatusPreconditionRequired
Response::HTTP_PRECONDITION_REQUIRED
:precondition_required