422

Unprocessable Content

Offiziell
Wegen eines semantischen Fehlers, konnte die Anfrage nicht verarbeitet werden

Allgemeine Erklärung des 422-Statuscodes

Der HTTP-Statuscode 422 Unprocessable Content wird normalerweise zurückgegeben, wenn der Server die Anfrage des Clients erhalten hat, sie jedoch aufgrund eines semantischen Fehlers nicht verarbeiten konnte.

Dies bedeutet im Wesentlichen, dass die Anfrage des Clients vom Server nicht verstanden oder akzeptiert wurde, weil sie möglicherweise unvollständig oder fehlerhaft war. Ein häufiges Beispiel hierfür ist, wenn der Client versucht, eine Formularanforderung an den Server zu senden, aber das Formularfeld nicht korrekt ausgefüllt wurde.

Der Server wird normalerweise auch eine Nachricht im Body der Antwort zurücksenden, die weitere Details darüber enthält, warum die Anfrage unverarbeitbar ist. Es liegt dann am Client, diese Informationen zu lesen und zu korrigieren, um eine erfolgreiche Anfrage beim Server zu stellen.

Spezifikation von dem HTTP statuscode 422

Der Statuscode 422 Unprocessable Content bedeutet, dass der Server den Inhaltstyp der Anforderungseinheit versteht (daher ist ein Statuscode 415 (Unsupported Media Type) unangebracht) und die Syntax der Anforderungseinheit korrekt ist (daher ist ein Statuscode 400 (Bad Request) unangebracht), aber die enthaltenen Anweisungen nicht verarbeiten konnte. Diese Fehlerbedingung kann beispielsweise auftreten, wenn ein XML-Anfragekörper wohlgeformte (d. h. syntaktisch korrekte), aber semantisch fehlerhafte XML-Anweisungen enthält.

Quelle / Zitat von: Spezifiziert wird der 422 Unprocessable Content HTTP Status Code durch Abschnitt 11.2 von RFC4918

Wie kann man mit PHP einen 422-Statuscode werfen?

Um auf einer Webseite den HTTP Status Code 422 zu werfen, kann die PHP Funktion http_response_code benutzt werden. Die Syntax sieht wie folgt aus: http_response_code(422) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Teste den 422 HTTP Status Code

Um die HTTP Status Code (in diesem Fall 422 Unprocessable Content) und weitere Informationen clientseitig anzeigen zu können, muss die Entwicklungskonsole mit F12 geöffnet werden. Im Anschluss muss zu der Karteikarte "Netzwerk" navigiert werden. Jetzt kann die Seite geöffnet werden, im Netzwerktab sollte die Webseite (Beispiel index.php) zu sehen sein. Diese muss ausgewählt werden und im Anschluss der Bereich Herder gewählt werden. Hier sieht der Nutzer dann folgendes Ergebnis:

Statuscode 422 Unprocessable Content
Überblick
URL: https://http-statuscode.com/errorCodeExample.php?code=422
Status: 422 Unprocessable Content
Diese: Network
IP-Adresse: XX.XX.XX.XX
Statuscode 422 Unprocessable Content

Wie löse ich das Problem mit dem 422 Statuscode?

Der HTTP Statuscode 422 Unprocessable Content kann mehrere Gründe haben. Wie in der allgemeinen Erklärung bereits beschrieben, wird der HTTP Statuscode 422 Unprocessable Content geworfen, wenn semantischen Fehler vorhanden sind.

HTTP Statuscode 422 Unprocessable Content wird in WordPress geworfen, wie behebe ich den Fehler?

Entweder ist ein kürzlich installiertes Plugin fehlerhaft, selbst angepasster Code semantisch falsch, oder es handelt sich um eine defekte Datenbank.

HTTP 422 Unprocessable Content wird wegen einer defekten Datenbank geworfen, das ist die Lösung

Um das Problem mit der Datenbank zu beheben, können WordPress-Plugins wie "WP-DBManager" verwendet werden. Wenn ein Zugriff selbst auf WordPress nicht mehr möglich ist, muss direkt auf die Datenbank zugegriffen werden. Hierfür werden bei Hostern meist Tools zur Verfügung gestellt. Das bekannteste Tool ist PhpMyAdmin. Nach dem Login muss die Datenbank ausgewählt werden und im Anschluss alle Tabellen über die Checkbox angewählt werden. Im Anschluss kann unten in der Selectbox "Rapair table" gewählt werden. Ausgeführt wird die Aktion mit dem klicken auf den Button "Go"

Nun sollte das Problem nicht mehr auftreten.

HTTP 422 Unprocessable Content wird wegen eines Fehlers im Code geworfen

Wenn ein semantischer Fehler im Code vorliegt, sollte die letzte Änderung rückgängig gemacht werden, oder das zuletzt installierte WordPress-Plugin deaktiviert oder via FTP / SFTP entfernt werden.

Nun sollte das Problem nicht mehr auftreten.

Wie erstellt man eine eigene Fehlerseite für den Statuscode 422

Eine eigene 422 Unprocessable Content Fehlerseite zu erstellen ist sowohl mit dem Webserver "Apache" als auch mit dem Webserver "NGINX", relativ leicht.

Apache Webserver

Der Webserver "Apache" gilt zu den meist verbreitetsten Webservern im Internet. Um einen eigene 422 Unprocessable Content Fehlerseite in"Apache" zu erstellen, muss in folgender Datei folgende Änderung durchgeführt werden.

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

NGINX Webserver

Ähnlich wie der Webserver "Apache" ist auch "NGINX" im Internet weit verbreitet. Um einen eigene 422 Unprocessable Content Fehlerseite in "NGINX" zu erstellen, muss in folgender Datei folgende Änderung durchgeführt werden.

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

Browser-Kompatibilität des 422 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

Konstanten in Programmiersprachen

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

Tony Brüser ist ein begeisterter Webentwickler mit einer Vorliebe für HTTP Statuscodes.

LinkedInGitHub