501

Not Implemented

Oficiální stránky
V současné době se neprovádí

Obecné vysvětlení stavového kódu 501

Tento textový blok je bohužel k dispozici pouze v angličtině.

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.

.

Specifikace stavového kódu HTTP 501

Stavový kód 501 Not Implemented označuje, že server nepodporuje funkce potřebné pro splnění požadavku. Jedná se o vhodnou odpověď, pokud server nerozpozná metodu požadavku a není schopen ji podporovat pro žádný prostředek. Odpověď 501 Not Implemented je ve výchozím nastavení kešovatelná; tj. pokud není v definici metody nebo ve výslovných kontrolách kešování uvedeno jinak.

Zdroj / Citace z: Stavový kód 501 Not Implemented HTTP je specifikován v oddílu 6.6.2 oddílu RFC7231.

Jak vyhodit stavový kód 501 pomocí PHP?

Pro zobrazení stavového kódu HTTP 501 na webové stránce lze použít funkci PHP http_response_code. Syntaxe je následující: http_response_code(501) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Testování stavového kódu HTTP 501

Aby bylo možné zobrazit stavový kód HTTP (v tomto případě 501 Not Implemented) a další informace na straně klienta, je třeba otevřít vývojovou konzolu pomocí klávesy F12. Poté přejděte na kartu "Síť". Nyní lze stránku otevřít, webová stránka (příklad index.php) by měla být viditelná na kartě sítě. Ta musí být vybrána a poté musí být vybrána sekce Herder. Uživatel pak uvidí následující výsledek:

Stavový kód 501 Not Implemented
Přehled
URL: https://http-statuscode.com/errorCodeExample.php?code=501
Stav: 501 Not Implemented
Tyto stránky: Network
IP adresa: XX.XX.XX.XX
Stavový kód 501 Not Implemented

Jak vyřeším problém se stavovým kódem 501?

Server vrací stavový kód HTTP 501 Not Implemented, který znamená, že požadovaná metoda není podporována nebo není implementována. To znamená, že server nemůže zpracovat konkrétní požadavek, protože požadovaná funkce není k dispozici. Problém se stavovým kódem HTTP 501 Not Implemented můžete vyřešit několika kroky:

  1. Kontrola použité metody HTTP: Ujistěte se, že je pro požadavek použita správná metoda HTTP. Protokol HTTP nabízí několik metod, například GET, POST, PUT, DELETE atd. Stavový kód 501 Not Implemented může být vrácen, protože požadovaná metoda není serverem podporována. Zkontrolujte specifikace rozhraní API serveru nebo dokumentaci a ujistěte se, že používáte správnou metodu.
  2. Kontrola konfigurace serveru: Server může vrátit stavový kód 501 Not Implemented, pokud některé funkce nebo moduly nejsou povoleny nebo správně nakonfigurovány. Ujistěte se, že jsou na serveru povoleny všechny požadované moduly a funkce pro správné zpracování požadavku. Zkontrolujte konfigurační soubory serveru, například konfigurační soubor Apache (httpd.conf) nebo konfigurační soubor Nginx (nginx.conf), a ujistěte se, že je vše nastaveno správně.
  3. Aktualizujte software serveru: Někdy se může stavový kód 501 Not Implemented objevit, pokud je použitý software serveru zastaralý a nepodporuje požadovanou funkci. Ujistěte se, že používáte nejnovější verzi serverového softwaru a že jsou nainstalovány všechny dostupné aktualizace. Tím mohou být opraveny známé problémy a přidány nové funkce, které dříve nebyly implementovány.
  4. Podívejte se do dokumentace serveru: Informace o stavovém kódu 501 Not Implemented najdete v oficiální dokumentaci serveru nebo frameworku, který používáte. Dokumentace může obsahovat konkrétní pokyny nebo rady, jak problém odstranit. Vyhledejte části věnované řešení problémů, známé problémy nebo konkrétní nastavení konfigurace, které je třeba zkontrolovat.

Je důležité si uvědomit, že řešení problému se stavovým kódem HTTP 501 Not Implemented do značné míry závisí na konkrétní konfiguraci serveru, použitém softwaru a typu požadavku. Výše uvedené kroky však poskytují obecný návod, jak se problémem zabývat a jak najít možná řešení.

Jak vytvořit vlastní chybovou stránku pro stavový kód 501

Vytvoření vlastní chybové stránky 501 Not Implemented je na webových serverech Apache i NGINX poměrně snadné.

Apache Webserver

Webový server Apache je jedním z nejběžnějších webových serverů na internetu. Chcete-li vytvořit vlastní chybovou stránku 501 Not Implemented v serveru "Apache", je třeba provést následující změnu v následujícím souboru.

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

NGINX Webserver

Podobně jako webový server Apache se na internetu hojně používá i NGINX. Chcete-li vytvořit vlastní chybovou stránku 501 Not Implemented v serveru "NGINX", je třeba provést následující změnu v následujícím souboru.

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

Kompatibilita stavového kódu 501 s prohlížeči

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

Konstanty v programovacích jazycích

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 je nadšený webový vývojář se zálibou ve stavových kódech HTTP.

LinkedInGitHub