412

Precondition Failed

Offisiell Understatuskoder
Forutsetningene var ikke tilfredsstillende, forespørselen ble ikke innvilget.

Spesifikasjon av HTTP-statuskoden 412

Statuskoden 412 Precondition Failed indikerer at en eller flere betingelser gitt i forespørselshodefeltene ble evaluert til falsk når de ble testet på serveren. Denne responskoden gjør det mulig for klienten å plassere forhåndsbetingelser på den nåværende ressurstilstanden (dens nåværende representasjoner og metadata) og dermed forhindre at forespørselsmetoden blir brukt hvis målressursen er i en uventet tilstand.

.

Kilde / Sitat fra: 412 Precondition Failed HTTP-statuskoden er spesifisert av seksjon 4.2 i RFC7232.

Hvordan kaste en 412-statuskode med PHP?

For å kaste HTTP-statuskoden 412 på en nettside kan PHP-funksjonen http_response_code brukes. Syntaksen er som følger: http_response_code(412) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Test 412 HTTP-statuskoden

For å kunne vise HTTP-statuskoden (i dette tilfellet 412 Precondition Failed) og annen informasjon på klientsiden, må utviklingskonsollen åpnes med F12. Naviger deretter til fanen "Nettverk". Nå kan siden åpnes, nettstedet (eksempel index.php) skal være synlig i nettverksfanen. Dette må velges, og deretter må Herder-delen velges. Brukeren vil da se følgende resultat:

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

Hvordan løser jeg problemet med 412-statuskoden?

1. forstå årsaken

Sjekk forhåndsbetingelsen i headeren: Identifiser først hvilken forhåndsbetingelse som ble angitt i headeren i forespørselen og som ikke ble oppfylt. Dette kan være en If-Match, If-None-Match, If-Modified-Since, If-Unmodified-Since eller en If-Range header.

2. Sjekk ressursens metadata

E-Tag og Last-Modified header: Sjekk metadataene til den forespurte ressursen. Sammenlign E-Tag-verdien eller Last-Modified-datoen for ressursen med verdien som er angitt i forespørselen for å identifisere avvik.

3. Korrigere forespørselen

Justere topptekstene: Hvis kontrollen viser at verdiene i tilstandsoverskriftene i forespørselen ikke samsvarer med ressursens nåværende tilstand, må du justere dem deretter.

Fjern unødvendige overskrifter: I noen tilfeller kan det være nyttig å fjerne visse betingelsesoverskrifter hvis de ikke er absolutt nødvendige for forespørselen.

4. Cache-håndtering

Cache-sjekk: Kontroller at forespørselen ikke påvirkes av en bufret tilstand for ressursen. Tøm om nødvendig hurtigbufferen eller bruk Cache-Control-overskrifter for å omgå hurtigbufferen.

5. Serverkonfigurasjon

Konfigurasjonssjekk: Sjekk om det finnes spesielle regler eller konfigurasjoner på serveren som kan føre til dette problemet, spesielt i forbindelse med behandling av betingede forespørsler.

6. Kommunikasjon med API-/serverutvikleren

Dokumentasjon og support: Hvis problemet vedvarer, bør du se i API- eller serverdokumentasjonen og eventuelt kontakte support eller utviklermiljøet for ytterligere hjelp.

7. Feilhåndtering i applikasjonen

Robust feilhåndtering: Implementer robust feilhåndtering i applikasjonen for å reagere på statuskode 412 Precondition Failed, f.eks. ved å sende forespørselen på nytt med tilpassede overskrifter eller ved å varsle brukeren om feilen.

8. Testing og overvåking

Utførlig testing: Test applikasjonen under ulike forhold for å sikre at den reagerer riktig på 412 Precondition Failed-feil.

Overvåking: Bruk overvåkingsverktøy for å oppdage og analysere slike feil, slik at du kan reagere proaktivt på problemer.

Overvåking.

Slik oppretter du din egen feilside for statuskode 412

Det er relativt enkelt å lage din egen 412 Precondition Failed-feilside med både "Apache" og "NGINX" webservere.

Apache Webserver

Webserveren "Apache" er en av de vanligste webserverne på Internett. For å lage din egen 412 Precondition Failed-feilside i "Apache", må følgende endring gjøres i følgende fil.

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

NGINX Webserver

I likhet med webserveren "Apache" er "NGINX" også mye brukt på Internett. For å lage din egen 412 Precondition Failed-feilside i "NGINX", må følgende endring gjøres i følgende fil.

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

Nettleserkompatibilitet 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 programmeringsspråk

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

Understatuskoder er rent tekniske, og skal aldri sendes til brukeren. Hvis for eksempel statuskode 412.1 kastes, kan den logges, men statuskode 412 vil bli sendt til brukeren.:
412.0 Precondition failed
HTTP IIS, Uoffisielt
Forfatter: Tony Brüser
Forfatter: Tony Brüser

Tony Brüser er en entusiastisk webutvikler med en forkjærlighet for HTTP-statuskoder.

LinkedInGitHub