412

Precondition Failed

Oficialus Substatuto kodai
Išankstinės sąlygos buvo nepatenkinamos, prašymas nebuvo patenkintas

HTTP būsenos kodo 412 specifikacija

Statuso kodas 412 Precondition Failed rodo, kad viena ar daugiau užklausos antraštės laukuose pateiktų sąlygų, tikrinant serveryje, buvo įvertintos kaip klaidingos. Šis atsakymo kodas leidžia klientui nustatyti išankstines sąlygas dabartinei ištekliaus būsenai (dabartinėms jo reprezentacijoms ir metaduomenims) ir taip neleisti taikyti užklausos metodo, jei tikslinis išteklius yra netikėtos būsenos.

Šaltinis / citata iš: HTTP būsenos kodas 412 Precondition Failed nurodytas 4.2 skirsnyje 4.2.

Kaip naudojant PHP išmesti 412 būsenos kodą?

Norint žiniatinklio puslapyje nurodyti HTTP būsenos kodą 412, galima naudoti PHP funkciją http_response_code. Sintaksė tokia: http_response_code(412) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

HTTP būsenos kodo 412 testavimas

Kad kliento pusėje būtų galima rodyti HTTP būsenos kodą (šiuo atveju 412 Precondition Failed) ir kitą informaciją, kūrimo konsolę reikia atidaryti klavišu F12. Tada pereikite prie skirtuko "Network" (tinklas). Dabar galima atidaryti puslapį, tinklo skirtuke turi būti matoma svetainė (pavyzdys index.php). Ją reikia pasirinkti, o tada reikia pasirinkti skyrių Herder (Herderis). Tada naudotojas matys tokį rezultatą:

Būsenos kodas 412 Precondition Failed
Apžvalga
URL: https://http-statuscode.com/errorCodeExample.php?code=412
Statusas: 412 Precondition Failed
Šie: Network
IP adresas: XX.XX.XX.XX
Būsenos kodas 412 Precondition Failed

Kaip išspręsti 412 būsenos kodo problemą?

1. priežasties supratimas

Patikrinkite išankstinės sąlygos antraštę: Pirmiausia nustatykite, kokia išankstinė sąlyga buvo nustatyta užklausos antraštėje ir nebuvo įvykdyta. Tai gali būti If-Match, If-None-Match, If-Modified-Since, If-Unmodified-Since arba If-Range antraštė.

2. Išteklių metaduomenų tikrinimas

E-Tag ir Last-Modified antraštė: Patikrinkite prašomo ištekliaus metaduomenis. Palyginkite E-Tag reikšmę arba Paskutinio pakeitimo datą su užklausoje nurodyta reikšme, kad nustatytumėte neatitikimus.

3. Užklausos koregavimas

Koreguoti antraštes: Jei patikrinus paaiškėja, kad užklausos sąlygų antraštėse nurodytos reikšmės neatitinka dabartinės ištekliaus būklės, atitinkamai jas pakoreguokite.

Nereikalingų antraščių pašalinimas: Kai kuriais atvejais gali būti naudinga pašalinti tam tikras sąlygines antraštes, jei jos nėra būtinai reikalingos užklausai.

4. Spartinančiosios atmintinės valdymas

Patikrinimas: Įsitikinkite, kad užklausai nedaro įtakos išteklių būsenos spartinančioji atmintinė. Jei reikia, išvalykite talpyklą arba naudokite "Cache-Control" antraštes, kad apeitumėte talpyklą.

5. Serverio konfigūracija

Konfigūracijos patikrinimas: Patikrinkite, ar serveryje nėra specialių taisyklių arba konfigūracijų, dėl kurių galėtų kilti ši problema, ypač susijusių su sąlyginių užklausų apdorojimu.

6. Bendravimas su API / serverio kūrėju

Dokumentacija ir palaikymas: Jei problema išlieka, peržiūrėkite API arba serverio dokumentaciją ir, jei reikia, kreipkitės į palaikymo tarnybą arba kūrėjų bendruomenę dėl tolesnės pagalbos.

7. Klaidų tvarkymas programoje

Tvirtas klaidų tvarkymas: Įdiekite tvirtą klaidų tvarkymą programoje, kad galėtumėte tinkamai reaguoti į būsenos kodą 412 Precondition Failed, pavyzdžiui, pakartotinai siųsdami užklausą su pritaikytomis antraštėmis arba pranešdami naudotojui apie klaidą.

8. Testavimas ir stebėjimas

Visapusiškas testavimas: išbandykite savo programą įvairiomis sąlygomis, kad užtikrintumėte, jog ji tinkamai reaguoja į 412 Precondition Failed klaidas.

Monitoringas: naudokite stebėsenos priemones tokioms klaidoms aptikti ir analizuoti, kad galėtumėte aktyviai reaguoti į problemas.

Kaip sukurti savo klaidų puslapį, kuriame būtų rodomas būsenos kodas 412

Sukurti savo 412 Precondition Failed klaidos puslapį gana paprasta naudojant tiek "Apache", tiek "NGINX" žiniatinklio serverius.

Apache Webserver

Interneto serveris "Apache" yra vienas iš labiausiai paplitusių interneto svetainių serverių. Norėdami sukurti savo 412 Precondition Failed klaidos puslapį "Apache", šiame faile reikia atlikti toliau nurodytus pakeitimus.

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

NGINX Webserver

Panašiai kaip ir žiniatinklio serveris "Apache", "NGINX" taip pat plačiai naudojamas internete. Norėdami sukurti savo 412 Precondition Failed klaidos puslapį "NGINX", šiame faile reikia atlikti toliau nurodytus pakeitimus.

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

412 būsenos kodo suderinamumas su naršyklėmis

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

Konstantos programavimo kalbose

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

412 būsenos kodo būsenos poaibio kodai

Papildomi būsenos kodai yra grynai techninio pobūdžio ir niekada neturėtų būti siunčiami naudotojui. Pavyzdžiui, jei išmetamas būsenos kodas 412.1, jis gali būti registruojamas, tačiau naudotojui bus siunčiamas būsenos kodas 412.:
412.0 Precondition failed
HTTP IIS, Neoficialus

Išorinės nuorodos, kuriose pateikiama daugiau informacijos apie HTTP būsenos kodą 412:

Autorius: Tony Brüser
Autorius: Tony Brüser

Tony Brüseris yra entuziastingas žiniatinklio kūrėjas, mėgstantis HTTP būsenos kodus.

LinkedInGitHub