412

Precondition Failed

Officiel Understatuskoder
Forudsætningerne var ikke tilfredsstillende, og anmodningen blev ikke imødekommet

Specifikation af HTTP-statuskode 412

Statuskoden 412 Precondition Failed angiver, at en eller flere betingelser, der er angivet i felterne i anmodningshovedet, blev evalueret som falske, da de blev testet på serveren. Denne svarkode gør det muligt for klienten at opstille forudsætninger for den aktuelle ressourcestatus (dens aktuelle repræsentationer og metadata) og dermed forhindre, at anmodningsmetoden anvendes, hvis målressourcen befinder sig i en uventet tilstand.

Kilde / citat fra: HTTP-statuskoden 412 Precondition Failed er specificeret i afsnit 4.2 i RFC7232.

Hvordan får man en 412-statuskode med PHP?

Hvis du vil have HTTP-statuskoden 412 på en webside, kan du bruge PHP-funktionen http_response_code. Syntaksen er som følger: http_response_code(412) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Test 412 HTTP-statuskoden

For at kunne vise HTTP-statuskoden (i dette tilfælde 412 Precondition Failed) 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:

Statuskode 412 Precondition Failed
Oversigt
URL: https://http-statuscode.com/errorCodeExample.php?code=412
Status: 412 Precondition Failed
Disse: Network
IP-adresse: XX.XX.XX.XX
Statuskode 412 Precondition Failed

Hvordan løser jeg problemet med 412-statuskoden?

1. Forstå årsagen

Tjek forudsætningsheaderen: Identificer først, hvilken forudsætning der var angivet i headeren på din anmodning, og som ikke blev opfyldt. Det kan være en If-Match, If-None-Match, If-Modified-Since, If-Unmodified-Since eller en If-Range header.

2. Tjek ressourcens metadata

E-Tag og Last-Modified header: Tjek metadataene for den ønskede ressource. Sammenlign E-Tag-værdien eller Last-Modified-datoen for ressourcen med den værdi, der er angivet i anmodningen, for at identificere uoverensstemmelser.

3. Korrigering af anmodningen

Justering af headers: Hvis kontrollen viser, at værdierne i anmodningens tilstandsheaders ikke stemmer overens med ressourcens aktuelle tilstand, skal du justere dem i overensstemmelse hermed.

Fjern unødvendige headere: I nogle tilfælde kan det være nyttigt at fjerne visse betingede headere, hvis de ikke er absolut nødvendige for anmodningen.

4. Cachestyring

Cachetjek: Sørg for, at anmodningen ikke er påvirket af en cachelagret tilstand af ressourcen. Ryd om nødvendigt cachen, eller brug Cache-Control-headere til at omgå cachen.

5. Serverkonfiguration

Konfigurationstjek: Tjek, om der er særlige regler eller konfigurationer på serveren, der kan føre til dette problem, især i forbindelse med behandling af betingede anmodninger.

6. Kommunikation med API-/serverudvikleren

Dokumentation og support: Hvis problemet fortsætter, skal du konsultere API- eller serverdokumentationen og om nødvendigt kontakte support eller udviklerfællesskabet for yderligere hjælp.

7. Fejlhåndtering i applikationen

Robust fejlhåndtering: Implementer robust fejlhåndtering i din applikation for at reagere passende på 412 Precondition Failed-statuskoden, f.eks. ved at gensende anmodningen med tilpassede headere eller ved at give brugeren besked om fejlen.

8. Test og overvågning

Udførlig test: Test din applikation under forskellige forhold for at sikre, at den reagerer korrekt på 412 Precondition Failed-fejl.

Overvågning: Brug overvågningsværktøjer til at opdage og analysere sådanne fejl, så du kan reagere proaktivt på problemer.

Overvågning: Brug overvågningsværktøjer til at opdage og analysere sådanne fejl, så du kan reagere proaktivt på problemer.

Sådan opretter du din egen fejlside for statuskode 412

Det er relativt nemt at oprette din egen 412 Precondition Failed-fejlside med både Apache- og NGINX-webservere.

Apache Webserver

Webserveren "Apache" er en af de mest almindelige webservere på internettet. For at oprette din egen 412 Precondition Failed-fejlside i "Apache" skal du foretage følgende ændring i følgende fil.

File: .htaccess
ErrorDocument 412 /errors/412.html

NGINX Webserver

I lighed med webserveren "Apache" er "NGINX" også meget udbredt på internettet. For at oprette din egen 412 Precondition Failed-fejlside i "NGINX" skal du foretage følgende ændring i følgende fil.

File: sites-enabled/default
error_page 412 /412.html;
location = /412.html {
    root /usr/share/nginx/html;
    internal;
}

Browserkompatibilitet for 412-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

HttpStatusCode.PreconditionFailed
http.StatusPreconditionFailed
Response::HTTP_PRECONDITION_FAILED
httplib.PRECONDITION_FAILED
http.client.PRECONDITION_FAILED
http.HTTPStatus.PRECONDITION_FAILED
:precondition_failed

Understatuskoder til 412-statuskoden

Substatuskoder er rent tekniske og bør aldrig sendes til brugeren. Hvis f.eks. statuskode 412.1 vises, kan det logges, men statuskode 412 sendes til brugeren.:
412.0 Precondition failed
HTTP IIS, Uofficiel
Forfatter: Tony Brüser
Forfatter: Tony Brüser

Tony Brüser er en entusiastisk webudvikler med en forkærlighed for HTTP-statuskoder.

LinkedInGitHub