412
Precondition Failed
Specifica del codice di stato HTTP 412
Il codice di stato 412 Precondition Failed indica che una o più condizioni fornite nei campi dell'intestazione della richiesta sono state valutate false quando sono state testate sul server. Questo codice di risposta consente al client di porre delle precondizioni sullo stato attuale della risorsa (le sue rappresentazioni e i suoi metadati) e, quindi, di impedire che il metodo di richiesta venga applicato se la risorsa di destinazione si trova in uno stato inaspettato.
Fonte / Citazione da: Il codice di stato HTTP 412 Precondition Failed è specificato dalla sezione 4.2 di RFC7232.
Protocollo HTTP
Come lanciare un codice di stato 412 con PHP?
Per lanciare il codice di stato HTTP 412 su una pagina web, si può usare la funzione PHP http_response_code. La sintassi è la seguente: http_response_code(412) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
Test del codice di stato HTTP 412
Per poter visualizzare il codice di stato HTTP (in questo caso 412 Precondition Failed) e altre informazioni sul lato client, è necessario aprire la console di sviluppo con F12. Quindi navigare nella scheda "Rete". Ora la pagina può essere aperta, il sito web (ad esempio index.php) dovrebbe essere visibile nella scheda Rete. Questo deve essere selezionato e poi deve essere selezionata la sezione Herder. L'utente vedrà quindi il seguente risultato:
URL: https://http-statuscode.com/errorCodeExample.php?code=412
Stato: 412 Precondition Failed
Quelle: Network
Indirizzo IP: XX.XX.XX.XX
Come posso risolvere il problema del codice di stato 412?
1. capire la causa
Controllare l'header della precondizione: innanzitutto identificare quale precondizione è stata impostata nell'header della richiesta e non è stata soddisfatta. Potrebbe trattarsi di un'intestazione If-Match
, If-None-Match
, If-Modified-Since
, If-Unmodified-Since
o di un'intestazione If-Range
.
2. Controllare i metadati della risorsa
E-Tag e Last-Modified header: controllare i metadati della risorsa richiesta. Confrontare il valore E-Tag
o la data Last-Modified
della risorsa con il valore specificato nella richiesta per identificare le discrepanze.
3. Correggere la richiesta
Adeguare le intestazioni: Se il controllo mostra che i valori nelle intestazioni delle condizioni della richiesta non corrispondono allo stato attuale della risorsa, regolarli di conseguenza.
Rimuovere le intestazioni non necessarie: In alcuni casi, può essere utile rimuovere alcune intestazioni condizionali se non sono assolutamente necessarie per la richiesta.
4. Gestione della cache
Controllo della cache: Assicurarsi che la richiesta non sia influenzata da uno stato di cache della risorsa. Se necessario, cancellare la cache o utilizzare le intestazioni Cache-Control per bypassare la cache.
5. Configurazione del server
Verifica della configurazione: verificare se sul server sono presenti regole o configurazioni speciali che potrebbero causare questo problema, soprattutto in relazione all'elaborazione di richieste condizionali.
6. Comunicazione con lo sviluppatore dell'API/server
Documentazione e supporto: se il problema persiste, consultare la documentazione dell'API o del server e, se necessario, contattare il supporto o la comunità di sviluppatori per ulteriore assistenza.
7. Gestione degli errori nell'applicazione
: verificare che non vi siano regole o configurazioni particolari sul server che possano causare il problema, soprattutto in relazione all'elaborazione di richieste condizionali. Gestione degli errori nell'applicazioneGestione robusta degli errori: implementare una gestione robusta degli errori nell'applicazione per rispondere in modo appropriato al codice di stato 412 Precondition Failed, ad esempio reinviando la richiesta con intestazioni personalizzate o notificando all'utente l'errore.
8. Test e monitoraggio
Test completi: Testate la vostra applicazione in varie condizioni per assicurarvi che risponda correttamente agli errori 412 Precondition Failed.
Monitoraggio: Utilizzate strumenti di monitoraggio per rilevare e analizzare tali errori in modo da poter reagire proattivamente ai problemi.
Come creare la propria pagina di errore per il codice di stato 412
Apache Webserver
Il server web "Apache" è uno dei server web più comuni su Internet. Per creare la propria pagina di errore 412 Precondition Failed in "Apache", è necessario apportare la seguente modifica al file seguente.
NGINX Webserver
Simile al server web "Apache", anche "NGINX" è ampiamente utilizzato su Internet. Per creare la propria pagina di errore 412 Precondition Failed in "NGINX", è necessario apportare la seguente modifica al file seguente.
location = /412.html {
root /usr/share/nginx/html;
internal;
}
Compatibilità con i browser del codice di stato 412
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 |
Costanti nei linguaggi di programmazione
HttpStatusCode.PreconditionFailed
http.StatusPreconditionFailed
Response::HTTP_PRECONDITION_FAILED
httplib.PRECONDITION_FAILED
http.client.PRECONDITION_FAILED
http.HTTPStatus.PRECONDITION_FAILED
:precondition_failed
Codici di stato secondari del codice di stato 412
412.0 | Precondition failed HTTP IIS, Non ufficiale |