412

Precondition Failed

Virallinen Alatilakoodit
Edellytykset eivät olleet tyydyttävät, pyyntö ei onnistunut.

HTTP-tilakoodin 412 määrittely

Tilakoodi 412 Precondition Failed osoittaa, että yksi tai useampi pyynnön otsikkokentissä annettu ehto arvioitiin vääräksi, kun sitä testattiin palvelimella. Tämän vastauskoodin avulla asiakas voi asettaa ennakkoehtoja resurssin nykyiselle tilalle (sen nykyisille esityksille ja metatiedoille) ja siten estää pyyntömenetelmän soveltamisen, jos kohderesurssi on odottamattomassa tilassa.

Lähde / Lainaus: HTTP-tilakoodi 412 Precondition Failed on määritelty 4.2:n RFC7232 kohdassa RFC7232.

Kuinka heittää 412-tilakoodi PHP:llä?

HTTP-tilakoodin 412 heittämiseen verkkosivulle voidaan käyttää PHP-funktiota http_response_code. Syntaksi on seuraava: http_response_code(412) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Testaa HTTP-tilakoodi 412

Jotta HTTP-tilakoodi (tässä tapauksessa 412 Precondition Failed) ja muut tiedot voidaan näyttää asiakaspuolella, kehityskonsoli on avattava F12-näppäimellä. Siirry sitten "Network"-välilehdelle. Nyt sivu voidaan avata, verkkosivuston (esimerkki index.php) pitäisi näkyä verkko-välilehdellä. Tämä on valittava ja sen jälkeen on valittava Herder-osio. Käyttäjä näkee sitten seuraavan tuloksen:

Tilakoodi 412 Precondition Failed
Yleiskatsaus
URL: https://http-statuscode.com/errorCodeExample.php?code=412
Tila: 412 Precondition Failed
Nuo: Network
IP-osoite: XX.XX.XX.XX
Tilakoodi 412 Precondition Failed

Miten ratkaisen 412-tilakoodiin liittyvän ongelman?

1. syyn ymmärtäminen

Tarkista ennakkoehto-otsake: Selvitä ensin, mikä ennakkoehto oli asetettu pyyntösi otsikkoon, eikä se täyttynyt. Tämä voi olla If-Match, If-None-Match, If-Modified-Since, If-Unmodified-Since tai If-Range-otsikko.

2. Resurssin metatietojen tarkistaminen

E-Tag ja Last-Modified-otsikko: Tarkista pyydetyn resurssin metatiedot. Vertaa resurssin E-Tag-arvoa tai Last-Modified-päivämäärää pyynnössä määritettyyn arvoon ristiriitaisuuksien havaitsemiseksi.

3. Pyynnön korjaaminen

Ohtiotsikoiden mukauttaminen: Jos tarkistus osoittaa, että pyynnön ehtootsikoiden arvot eivät vastaa resurssin senhetkistä tilaa, mukauta niitä vastaavasti.

Poista tarpeettomat otsikot: Joissakin tapauksissa voi olla hyödyllistä poistaa tietyt ehto-otsikot, jos ne eivät ole pyynnön kannalta ehdottoman välttämättömiä.

4. Välimuistin hallinta

Välimuistin tarkistus: Varmista, että resurssin välimuistissa oleva tila ei vaikuta pyyntöön. Tyhjennä tarvittaessa välimuisti tai ohita välimuisti Cache-Control-otsakkeiden avulla.

5. Palvelimen konfigurointi

Konfiguraation tarkistus: Tarkista, onko palvelimella erityisiä sääntöjä tai konfiguraatioita, jotka voivat johtaa tähän ongelmaan, erityisesti ehdollisten pyyntöjen käsittelyn yhteydessä.

6. Yhteydenpito API:n/palvelimen kehittäjään

Dokumentaatio ja tuki: Jos ongelma ei poistu, tutustu API:n tai palvelimen dokumentaatioon ja ota tarvittaessa yhteyttä tukeen tai kehittäjäyhteisöön saadaksesi lisäapua.

7. Virheenkäsittely sovelluksessa

Varma virheenkäsittely: Toteuta sovelluksessa vankka virheenkäsittely, jotta voit reagoida asianmukaisesti tilakoodiin 412 Precondition Failed, esimerkiksi lähettämällä pyynnön uudelleen mukautetuilla otsikoilla tai ilmoittamalla käyttäjälle virheestä.

8. Testaus ja seuranta

Kattava testaus: Testaa sovelluksesi eri olosuhteissa varmistaaksesi, että se reagoi oikein 412 Precondition Failed-virheisiin.

Valvonta: Käytä valvontatyökaluja tällaisten virheiden havaitsemiseen ja analysointiin, jotta voit reagoida ongelmiin ennakoivasti.

Miten luoda oma virhesivu tilakoodille 412?

Oman 412 Precondition Failed-virhesivun luominen on suhteellisen helppoa sekä Apache- että NGINX-verkkopalvelimilla.

Apache Webserver

Verkkopalvelin "Apache" on yksi Internetin yleisimmistä verkkopalvelimista. Jotta voit luoda oman 412 Precondition Failed-virhesivun "Apachessa", seuraavaan tiedostoon on tehtävä seuraava muutos.

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

NGINX Webserver

Samanlainen kuin verkkopalvelin "Apache", "NGINX" on myös laajalti käytössä Internetissä. Jotta voit luoda oman 412 Precondition Failed-virhesivun "NGINX"-palvelimessa, seuraavaan tiedostoon on tehtävä seuraava muutos.

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

Selainyhteensopivuus 412-tilakoodin kanssa

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

Vakiot ohjelmointikielissä

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

Tilakoodin 412 alatilakoodit

Alatilakoodit ovat puhtaasti teknisiä, eikä niitä pitäisi koskaan lähettää käyttäjälle. Jos esimerkiksi heitetään tilakoodi 412.1, se voidaan kirjata, mutta käyttäjälle lähetetään tilakoodi 412.:
412.0 Precondition failed
HTTP IIS, Epävirallinen

Viihdyttäviä meemejä HTTP-tilakoodista 412

Kirjoittaja: Tony Brüser
Kirjoittaja: Tony Brüser

Tony Brüser on innostunut web-kehittäjä, jolla on mieltymys HTTP-statuskoodeihin.

LinkedInGitHub