422

Unprocessable Content

Ufficiale
A causa di un errore semantico, non è stato possibile elaborare la richiesta.

Spiegazione generale del codice di stato 422

Questo blocco di testo è purtroppo disponibile solo in inglese.

The HTTP status code 422 Unprocessable Content is usually returned when the server received the client's request but could not process it due to a semantic error.

This essentially means that the client's request was not understood or accepted by the server because it may have been incomplete or incorrect. A common example of this is when the client attempts to send a form request to the server, but the form field was not filled in correctly.

The server will usually also send back a message in the body of the response giving more details about why the request is unprocessable. It is then up to the client to read and correct this information in order to make a successful request to the server.

Specifica del codice di stato HTTP 422

Il codice di stato 422 Unprocessable Content significa che il server comprende il tipo di contenuto dell'entità della richiesta (quindi un codice di stato 415 (Unsupported Media Type) è inappropriato) e la sintassi dell'entità della richiesta è corretta (quindi un codice di stato 400 (Bad Request) è inappropriato), ma non è stato in grado di elaborare le istruzioni contenute. Ad esempio, questa condizione di errore può verificarsi se il corpo di una richiesta XML contiene istruzioni XML ben formate (cioè sintatticamente corrette), ma semanticamente errate.

Fonte / Citazione da: Il codice di stato HTTP 422 Unprocessable Content è specificato dalla sezione 11.2 di RFC4918.

Come lanciare un codice di stato 422 con PHP?

Per lanciare il codice di stato HTTP 422 su una pagina web, si può usare la funzione PHP http_response_code. La sintassi è la seguente: http_response_code(422) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Test del codice di stato HTTP 422

Per poter visualizzare il codice di stato HTTP (in questo caso 422 Unprocessable Content) 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:

Codice di stato 422 Unprocessable Content
Panoramica
URL: https://http-statuscode.com/errorCodeExample.php?code=422
Stato: 422 Unprocessable Content
Quelle: Network
Indirizzo IP: XX.XX.XX.XX
Codice di stato 422 Unprocessable Content

Come creare la propria pagina di errore per il codice di stato 422

Creare la propria pagina di errore 422 Unprocessable Content è relativamente facile sia con il server web "Apache" che con "NGINX".

Apache Webserver

Il server web "Apache" è uno dei server web più comuni su Internet. Per creare la propria pagina di errore 422 Unprocessable Content in "Apache", è necessario apportare la seguente modifica al file seguente.

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

NGINX Webserver

Simile al server web "Apache", anche "NGINX" è ampiamente utilizzato su Internet. Per creare la propria pagina di errore 422 Unprocessable Content in "NGINX", è necessario apportare la seguente modifica al file seguente.

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

Compatibilità con i browser del codice di stato 422

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

http.StatusUnprocessableEntity
Response::HTTP_UNPROCESSABLE_ENTITY
http.HTTPStatus.UNPROCESSABLE_ENTITY
:unprocessable_entity
Autore: Tony Brüser
Autore: Tony Brüser

Tony Brüser è un entusiasta sviluppatore web con una predilezione per i codici di stato HTTP.

LinkedInGitHub