422

Unprocessable Content

Officiell
På grund av ett semantiskt fel kunde begäran inte behandlas.

Allmän förklaring av statuskoden 422

Detta textblock finns tyvärr bara på engelska.

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.

Specifikation av HTTP-statuskoden 422

Statuskoden 422 Unprocessable Content innebär att servern förstår innehållstypen för begäran (därför är en 415 (Unsupported Media Type)-statuskod olämplig) och att syntaxen för begäran är korrekt (därför är en 400 (Bad Request)-statuskod olämplig), men att den inte kunde bearbeta instruktionerna. Detta feltillstånd kan till exempel uppstå om en XML-förfrågan innehåller välformade (dvs. syntaktiskt korrekta) men semantiskt felaktiga XML-instruktioner.

Källa / Citat från: HTTP-statuskoden 422 Unprocessable Content anges i avsnitt 11.2 i RFC4918.

Hur skickar man en 422-statuskod med PHP?

För att kasta HTTP-statuskoden 422 på en webbsida kan PHP-funktionen http_response_code användas. Syntaxen är följande: http_response_code(422) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Testa HTTP-statuskoden 422

För att kunna visa HTTP-statuskoden (i det här fallet 422 Unprocessable Content) och annan information på klientsidan måste utvecklingskonsolen öppnas med F12. Navigera sedan till fliken "Network" (nätverk). Nu kan sidan öppnas, webbplatsen (exempel index.php) ska vara synlig i fliken nätverk. Denna måste väljas och sedan måste avsnittet Herder väljas. Användaren kommer då att se följande resultat:

Statuskod 422 Unprocessable Content
Översikt
URL: https://http-statuscode.com/errorCodeExample.php?code=422
Status: 422 Unprocessable Content
Dessa: Network
IP-adress: XX.XX.XX.XX
Statuskod 422 Unprocessable Content

Så här skapar du en egen felsida för statuskoden 422

Det är relativt enkelt att skapa en egen 422 Unprocessable Content-felsida med både Apache- och NGINX-webbservrarna.

Apache Webserver

Webbservern "Apache" är en av de vanligaste webbservrarna på Internet. För att skapa en egen 422 Unprocessable Content-felsida i "Apache" måste följande ändring göras i följande fil.

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

NGINX Webserver

I likhet med webbservern Apache används NGINX i stor utsträckning på Internet. För att skapa en egen 422 Unprocessable Content-felsida i "NGINX" måste följande ändring göras i följande fil.

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

Webbläsarnas kompatibilitet med statuskoden 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

Konstanter i programmeringsspråk

http.StatusUnprocessableEntity
Response::HTTP_UNPROCESSABLE_ENTITY
http.HTTPStatus.UNPROCESSABLE_ENTITY
:unprocessable_entity

Underhållande memes om HTTP-statuskoden 422

Författare: Tony Brüser
Författare: Tony Brüser

Tony Brüser är en entusiastisk webbutvecklare med en förkärlek för HTTP-statuskoder.

LinkedInGitHub