501

Not Implemented

Oficjalny
Obecnie nie wdrożony

Ogólne wyjaśnienie kodu statusu 501

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

The HTTP error 501 Not Implemented occurs when a web server receives a request from a client that requests a function or feature that the server does not support or implement. The server recognises the request but cannot execute it because it does not have the necessary functions or resources. This can happen, for example, when a client uses an HTTP method that the server does not support, or when the server uses an older version of HTTP that does not support certain features available in a newer version.

A practical example of the HTTP error 501 Not Implemented would be when a web server receives a request for an HTTP method that it does not support, such as the PATCH method for updating part of a resource. If the server has not implemented this method, it will return a 501 Not Implemented error to tell the client that the request cannot be executed. Another example would be if a client sends a request for a specific version of HTTP that the server does not support, such as HTTP/2 when the server only supports HTTP/1.1. In this case, the server would return error 501 Not Implemented to tell the client that it cannot execute the request.

.

Specyfikacja kodu statusu HTTP 501

Kod statusu 501 Not Implemented wskazuje, że serwer nie obsługuje funkcjonalności wymaganej do spełnienia żądania. Jest to odpowiednia odpowiedź, gdy serwer nie rozpoznaje metody żądania i nie jest w stanie jej obsłużyć dla żadnego zasobu. Odpowiedź 501 Not Implemented jest domyślnie buforowana; tj. o ile definicja metody lub wyraźne kontrole buforowania nie wskazują inaczej.

Źródło / Cytat z: Kod statusu 501 Not Implemented HTTP jest określony przez sekcję 6.6.2 z RFC7231.

Jak wyrzucić kod statusu 501 za pomocą PHP?

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

Testowanie kodu 501 statusu HTTP

Aby móc wyświetlić kod statusu HTTP (w tym przypadku 501 Not Implemented) 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 501 Not Implemented
Przegląd
URL: https://http-statuscode.com/errorCodeExample.php?code=501
Status: 501 Not Implemented
Te: Network
Adres IP: XX.XX.XX.XX
Kod statusu 501 Not Implemented

Jak rozwiązać problem z kodem statusu 501?

Kod stanu HTTP 501 Not Implemented jest zwracany przez serwer w celu wskazania, że żądana metoda nie jest obsługiwana lub nie została zaimplementowana. Oznacza to, że serwer nie może przetworzyć określonego żądania, ponieważ wymagana funkcjonalność nie jest dostępna. Aby rozwiązać problem z kodem stanu HTTP 501 Not Implemented, można podjąć kilka kroków:

  1. Sprawdź używaną metodę HTTP: Upewnij się, że dla żądania używana jest właściwa metoda HTTP. Protokół HTTP oferuje kilka metod, takich jak GET, POST, PUT, DELETE itp. Kod stanu 501 Not Implemented może zostać zwrócony, ponieważ żądana metoda nie jest obsługiwana przez serwer. Sprawdź specyfikację API serwera lub dokumentację, aby upewnić się, że używasz prawidłowej metody.
  2. Sprawdź konfigurację serwera: Serwer może zwrócić kod stanu 501 Not Implemented, jeśli niektóre funkcje lub moduły nie są włączone lub skonfigurowane poprawnie. Upewnij się, że wszystkie wymagane moduły i funkcje są włączone na serwerze, aby poprawnie przetworzyć żądanie. Sprawdź pliki konfiguracyjne serwera, takie jak plik konfiguracyjny Apache (httpd.conf) lub plik konfiguracyjny Nginx (nginx.conf), aby upewnić się, że wszystko jest ustawione poprawnie.
  3. Zaktualizuj oprogramowanie serwera: Czasami kod stanu 501 Not Implemented może wystąpić, jeśli używane oprogramowanie serwera jest przestarzałe i nie obsługuje żądanej funkcjonalności. Upewnij się, że używasz najnowszej wersji oprogramowania serwera i że wszystkie dostępne aktualizacje są zainstalowane. Może to naprawić znane problemy i dodać nowe funkcje, które nie zostały wcześniej zaimplementowane.
  4. Zapoznaj się z dokumentacją serwera: Sprawdź oficjalną dokumentację serwera lub frameworka, którego używasz, aby uzyskać informacje o kodzie stanu 501 Not Implemented. Dokumentacja może zawierać konkretne instrukcje lub wskazówki, jak rozwiązać problem. Poszukaj sekcji dotyczących rozwiązywania problemów, znanych problemów lub określonych ustawień konfiguracyjnych, które należy sprawdzić.

Ważne jest, aby pamiętać, że rozwiązanie problemu z kodem stanu HTTP 501 Not Implemented zależy w dużej mierze od konkretnej konfiguracji serwera, używanego oprogramowania i rodzaju żądania. Powyższe kroki stanowią jednak ogólny przewodnik do rozwiązania problemu i znalezienia możliwych rozwiązań.

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

Stworzenie własnej strony błędu 501 Not Implemented 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 501 Not Implemented w "Apache", należy dokonać następującej zmiany w poniższym pliku.

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

NGINX Webserver

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

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

Zgodność kodu statusu 501 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

HttpStatusCode.NotImplemented
http.StatusNotImplemented
Response::HTTP_NOT_IMPLEMENTED
httplib.NOT_IMPLEMENTED
http.client.NOT_IMPLEMENTED
http.HTTPStatus.NOT_IMPLEMENTED
:not_implemented
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