422

Unprocessable Content

Offisiell
På grunn av en semantisk feil kunne ikke forespørselen behandles.

Generell forklaring av 422-statuskoden

Denne tekstblokken er dessverre bare tilgjengelig på engelsk.

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.

Spesifikasjon av HTTP-statuskoden 422

Statuskoden 422 Unprocessable Content betyr at serveren forstår innholdstypen til forespørselsenheten (derfor er en 415 (Unsupported Media Type) statuskode upassende), og syntaksen til forespørselsenheten er korrekt (derfor er en 400 (Bad Request) statuskode upassende), men var ikke i stand til å behandle instruksjonene i den. Denne feiltilstanden kan for eksempel oppstå hvis en XML-forespørsel inneholder velformede (dvs. syntaktisk korrekte), men semantisk feilaktige XML-instruksjoner.

Kilde / Sitat fra: 422 Unprocessable Content HTTP-statuskoden er spesifisert av seksjon 11.2 i RFC4918.

Hvordan kaste en 422-statuskode med PHP?

For å kaste HTTP-statuskoden 422 på en nettside kan PHP-funksjonen http_response_code brukes. Syntaksen er som følger: http_response_code(422) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Test 422 HTTP-statuskoden

For å kunne vise HTTP-statuskoden (i dette tilfellet 422 Unprocessable Content) og annen informasjon på klientsiden, må utviklingskonsollen åpnes med F12. Naviger deretter til fanen "Nettverk". Nå kan siden åpnes, nettstedet (eksempel index.php) skal være synlig i nettverksfanen. Dette må velges, og deretter må Herder-delen velges. Brukeren vil da se følgende resultat:

Statuskode 422 Unprocessable Content
Oversikt
URL: https://http-statuscode.com/errorCodeExample.php?code=422
Status: 422 Unprocessable Content
De: Network
IP-adresse: XX.XX.XX.XX
Statuskode 422 Unprocessable Content

Slik oppretter du din egen feilside for statuskode 422

Det er relativt enkelt å lage din egen 422 Unprocessable Content-feilside med både "Apache" og "NGINX" webservere.

Apache Webserver

Webserveren "Apache" er en av de vanligste webserverne på Internett. For å lage din egen 422 Unprocessable Content-feilside i "Apache", må følgende endring gjøres i følgende fil.

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

NGINX Webserver

I likhet med webserveren "Apache" er "NGINX" også mye brukt på Internett. For å lage din egen 422 Unprocessable Content-feilside i "NGINX", må følgende endring gjøres i følgende fil.

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

Nettleserkompatibilitet for 422-statuskoden

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
Forfatter: Tony Brüser
Forfatter: Tony Brüser

Tony Brüser er en entusiastisk webutvikler med en forkjærlighet for HTTP-statuskoder.

LinkedInGitHub