501 Not Implemented

Serwer nie obsługuje tej funkcji.

Kiedy go używać

Metoda HTTP, której serwer w ogóle nie rozpoznaje.

Typowe przyczyny i rozwiązania

501 oznacza, że serwer w ogóle nie rozpoznaje lub nie obsługuje metody żądania, dla żadnego URL-a: metoda WebDAV, np. PROPFIND, wysłana do serwera bez WebDAV, albo PATCH wysłany do starego serwera. Porównaj to z 405, gdzie metoda istnieje, ale nie jest dozwolona pod danym URL-em. Niektóre API zwracają 501 także dla endpointów, które są udokumentowane, ale jeszcze niezaimplementowane.

Mogą go generować proxy i CDN-y: niektóre odrzucają nietypowe metody, a serwer musi odpowiedzieć 501 na Transfer-Encoding, którego nie obsługuje. Jeśli pojawia się niespodziewanie, wyślij tę samą metodę bezpośrednio do serwera źródłowego przez curl -X, żeby sprawdzić, która warstwa ją odrzuca. Odpowiedź 501 jest domyślnie cache'owalna, więc dodaj Cache-Control: no-store, jeśli endpoint wkrótce zacznie działać.

Błąd serwera (5xx)

Kody 5xx to błędy serwera: żądanie może być poprawne, ale zawiódł serwer lub coś za nim. Warto ustawić na nie alerty.

Jak to wygląda

HTTP/1.1 501 Not Implemented

Jak go wysłać

Node.js / Expressres.status(501).end()
Python / Flaskreturn '', 501
nginxreturn 501;

Jak go sprawdzić

curl -s -o /dev/null -w "%{http_code}\n" https://example.com/

Otwórz narzędzie Kody statusu HTTP