412
Precondition Failed
Specificatie van de HTTP-statuscode 412
De statuscode 412 Precondition Failed geeft aan dat een of meer voorwaarden in de velden van de request header bij het testen op de server onwaar zijn gebleken. Met deze responscode kan de client voorwaarden vooraf stellen aan de huidige toestand van de bron (de huidige representaties en metadata) en zo voorkomen dat de verzoekmethode wordt toegepast als de doelbron zich in een onverwachte toestand bevindt.
Bron / Citaat van: De 412 Precondition Failed HTTP-statuscode wordt gespecificeerd door sectie 4.2 van RFC7232.
HTTP-protocol
Hoe gooi je een 412-statuscode met PHP?
Om de HTTP-statuscode 412 op een webpagina te gooien, kan de PHP-functie http_response_code worden gebruikt. De syntaxis is als volgt: http_response_code(412) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
Test de HTTP-statuscode 412
Om de HTTP-statuscode (in dit geval 412 Precondition Failed) en andere informatie aan de clientzijde te kunnen weergeven, moet de ontwikkelconsole worden geopend met F12. Navigeer vervolgens naar het tabblad "Netwerk". Nu kan de pagina worden geopend, de website (voorbeeld index.php) moet zichtbaar zijn in het netwerk tabblad. Deze moet worden geselecteerd en vervolgens moet het onderdeel Herder worden geselecteerd. De gebruiker ziet dan het volgende resultaat:
URL: https://http-statuscode.com/errorCodeExample.php?code=412
Status: 412 Precondition Failed
Die: Network
IP-adres: XX.XX.XX.XX
Hoe los ik het probleem met de 412-statuscode op?
1. Begrijp de oorzaak
Controleer de header van de voorwaarde: stel eerst vast welke voorwaarde in de header van uw verzoek is ingesteld en waaraan niet is voldaan. Dit kan een If-Match
, If-None-Match
, If-Modified-Since
, If-Unmodified-Since
of een If-Range
-header zijn.
2. Controleer de metagegevens van de bron
E-Tag en Last-Modified-header: Controleer de metagegevens van de aangevraagde bron. Vergelijk de E-Tag
-waarde of de Last-Modified
-datum van de bron met de waarde die is opgegeven in het verzoek om discrepanties te identificeren.
3. Het verzoek corrigeren
De headers aanpassen: Als uit de controle blijkt dat de waarden in de conditieheaders van het verzoek niet overeenkomen met de huidige status van de bron, past u deze dienovereenkomstig aan.
Onnodige headers verwijderen: In sommige gevallen kan het nuttig zijn om bepaalde conditionele headers te verwijderen als deze niet absoluut noodzakelijk zijn voor het verzoek.
4. Cachebeheer
Cachecontrole: Controleer of het verzoek niet wordt beïnvloed door een cachestatus van de bron. Maak indien nodig de cache leeg of gebruik Cache-Control-headers om de cache te omzeilen.
5. Serverconfiguratie
Configuratiecontrole: controleer of er speciale regels of configuraties op de server zijn die tot dit probleem kunnen leiden, met name in verband met de verwerking van voorwaardelijke verzoeken.
6. Communicatie met de API/serverontwikkelaar
Documentatie en ondersteuning: Als het probleem aanhoudt, raadpleegt u de API- of serverdocumentatie en neemt u zo nodig contact op met ondersteuning of de ontwikkelaarsgemeenschap voor verdere hulp.
7. Foutafhandeling in de applicatie
Robuuste foutafhandeling: Implementeer robuuste foutafhandeling in uw applicatie om op de juiste manier te reageren op de 412 Precondition Failed statuscode, bijvoorbeeld door het verzoek opnieuw te verzenden met aangepaste headers of door de gebruiker op de hoogte te stellen van de fout.
8. Testen en bewaken
Alomvattend testen: Test uw applicatie onder verschillende omstandigheden om ervoor te zorgen dat deze correct reageert op 412 Precondition Failed-fouten.
Monitoring: Gebruik monitoringtools om dergelijke fouten te detecteren en te analyseren, zodat u proactief op problemen kunt reageren.
Hoe maak je je eigen foutpagina voor de statuscode 412?
Apache Webserver
De webserver "Apache" is een van de meest gebruikte webservers op het internet. Om uw eigen 412 Precondition Failed-foutpagina in "Apache" te maken, moet de volgende wijziging worden aangebracht in het volgende bestand.
NGINX Webserver
Net als de webserver "Apache" wordt ook "NGINX" veel gebruikt op het internet. Om uw eigen 412 Precondition Failed-foutpagina in "NGINX" te maken, moet de volgende wijziging worden aangebracht in het volgende bestand.
location = /412.html {
root /usr/share/nginx/html;
internal;
}
Browsercompatibiliteit van de 412-statuscode
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 |
Constanten in programmeertalen
HttpStatusCode.PreconditionFailed
http.StatusPreconditionFailed
Response::HTTP_PRECONDITION_FAILED
httplib.PRECONDITION_FAILED
http.client.PRECONDITION_FAILED
http.HTTPStatus.PRECONDITION_FAILED
:precondition_failed
Substatuscodes van de 412-statuscode
412.0 | Precondition failed HTTP IIS, Onofficieel |