422

Unprocessable Content

Oficjalny
Ze względu na błąd semantyczny, żądanie nie mogło zostać przetworzone.

Ogólne wyjaśnienie kodu statusu 422

Ten blok tekstowy jest niestety dostępny tylko w języku angielskim.

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.

Specyfikacja kodu statusu HTTP 422

Kod statusu 422 Unprocessable Content oznacza, że serwer rozumie typ zawartości elementu żądania (stąd kod statusu 415(Unsupported Media Type) jest niewłaściwy), a składnia elementu żądania jest poprawna (stąd kod statusu 400 (Bad Request) jest niewłaściwy), ale nie był w stanie przetworzyć zawartych w nim instrukcji. Na przykład, ten stan błędu może wystąpić, jeśli ciało żądania XML zawiera dobrze uformowane (tj. poprawne składniowo), ale semantycznie błędne, instrukcje XML.

Źródło / Cytat z: Kod statusu 422 Unprocessable Content HTTP jest określony przez sekcję 11.2 z RFC4918.

Jak wyrzucić kod statusu 422 za pomocą PHP?

Aby wyrzucić na stronę internetową kod statusu HTTP 422, można użyć funkcji PHP http_response_code. Składnia jest następująca: http_response_code(422) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Testowanie kodu 422 statusu HTTP

Aby móc wyświetlić kod statusu HTTP (w tym przypadku 422 Unprocessable Content) i inne informacje po stronie klienta, należy otworzyć konsolę programistyczną za pomocą F12. Następnie należy przejść do zakładki "Network". Teraz można otworzyć stronę, w zakładce "Network" powinna być widoczna strona (przykładowy index.php). Należy ją zaznaczyć, a następnie wybrać sekcję Herder. Użytkownik zobaczy wtedy następujący wynik:

Kod statusu 422 Unprocessable Content
Przegląd
URL: https://http-statuscode.com/errorCodeExample.php?code=422
Status: 422 Unprocessable Content
Te: Network
Adres IP: XX.XX.XX.XX
Kod statusu 422 Unprocessable Content

Jak stworzyć własną stronę błędu dla kodu statusu 422

Stworzenie własnej strony błędu 422 Unprocessable Content jest stosunkowo proste zarówno w przypadku serwera "Apache" jak i "NGINX".

Apache Webserver

Serwer WWW "Apache" jest jednym z najczęściej spotykanych serwerów WWW w Internecie. Aby stworzyć własną stronę błędu 422 Unprocessable Content w "Apache", należy dokonać następującej zmiany w poniższym pliku.

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

NGINX Webserver

Podobnie jak serwer internetowy "Apache", "NGINX" jest również szeroko stosowany w Internecie. Aby stworzyć własną stronę błędu 422 Unprocessable Content w "NGINX", należy dokonać następującej zmiany w poniższym pliku.

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

Zgodność kodu statusu 422 z przeglądarką

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

Stałe w językach programowania

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

Tony Brüser jest entuzjastycznym twórcą stron internetowych z zamiłowaniem do kodów statusu HTTP.

LinkedInGitHub