501

Not Implemented

Официален
В момента не се прилага

Общо обяснение на код на състоянието 501

За съжаление този блок с текст е достъпен само на английски език.

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.

.

Спецификация на HTTP код на състоянието 501

Кодът на състоянието 501 Not Implemented показва, че сървърът не поддържа функционалността, необходима за изпълнение на заявката. Това е подходящият отговор, когато сървърът не разпознава метода на заявката и не е в състояние да го поддържа за нито един ресурс. Отговорът 501 Not Implemented е кешируем по подразбиране, т.е. освен ако не е посочено друго в дефиницията на метода или в изричните контроли за кеширане.

Източник / Цитат от: Кодът на състоянието 501 Not Implemented на HTTP е определен в раздел 6.6.2 на RFC7231.

Как да изхвърлим код на състоянието 501 с PHP?

За изхвърляне на HTTP статус код 501 на уеб страница може да се използва функцията http_response_code на PHP. Синтаксисът е следният: http_response_code(501) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Тестване на код 501 на състоянието HTTP

За да можете да показвате кода на състоянието на HTTP (в този случай 501 Not Implemented) и друга информация от страна на клиента, конзолата за разработка трябва да се отвори с F12. След това преминете към раздела "Мрежа". Сега страницата може да бъде отворена, като уебсайтът (пример index.php) трябва да се вижда в раздела "Мрежа". Той трябва да бъде избран и след това трябва да се избере разделът Herder. След това потребителят ще види следния резултат:

Код на състоянието 501 Not Implemented
Преглед
URL: https://http-statuscode.com/errorCodeExample.php?code=501
Статус: 501 Not Implemented
Тези: Network
IP адрес: XX.XX.XX.XX
Код на състоянието 501 Not Implemented

Как да разреша проблема със статус код 501?

Сървърът връща HTTP код на състоянието 501 Not Implemented, за да покаже, че заявеният метод не се поддържа или не е изпълнен. Това означава, че сървърът не може да обработи конкретната заявка, тъй като изискваната функционалност не е налична. За да решите проблема с HTTP статус код 501 Not Implemented, има няколко стъпки, които можете да предприемете:

  1. Проверете използвания HTTP метод: Уверете се, че за заявката е използван правилният HTTP метод. HTTP предлага няколко метода, като например GET, POST, PUT, DELETE и др. Възможно е да бъде върнат код на състоянието 501 Not Implemented, тъй като заявеният метод не се поддържа от сървъра. Проверете спецификациите на API на сървъра или документацията, за да се уверите, че използвате правилния метод.
  2. Проверка на конфигурацията на сървъра: Сървърът може да върне код на състоянието 501 Not Implemented, ако определени функции или модули не са разрешени или конфигурирани правилно. Уверете се, че всички необходими модули и функции са разрешени на сървъра, за да се обработи правилно заявката. Проверете конфигурационните файлове на сървъра, като например конфигурационния файл на Apache (httpd.conf) или конфигурационния файл на Nginx (nginx.conf), за да се уверите, че всичко е настроено правилно.
  3. Актуализирайте софтуера на сървъра: Понякога може да се появи код на състоянието 501 Not Implemented, ако използваният софтуер на сървъра е остарял и не поддържа исканата функционалност. Уверете се, че използвате най-новата версия на софтуера на сървъра и че са инсталирани всички налични актуализации. Това може да отстрани известни проблеми и да добави нови функции, които не са били реализирани преди това.
  4. Справка с документацията на сървъра: Проверете официалната документация на сървъра или рамката, която използвате, за информация относно код на състоянието 501 Not Implemented. Документацията може да съдържа конкретни инструкции или съвети за това как да се отстрани проблемът. Потърсете раздели за отстраняване на проблеми, известни проблеми или конкретни настройки на конфигурацията, които трябва да бъдат проверени.

Важно е да се отбележи, че разрешаването на проблема с HTTP статус код 501 Not Implemented зависи в голяма степен от конкретната конфигурация на сървъра, използвания софтуер и вида на заявката. Въпреки това, стъпките по-горе предоставят общо ръководство за справяне с проблема и намиране на възможни решения.

Как да създадете собствена страница за грешка с код на състоянието 501

Създаването на собствена страница за грешка 501 Not Implemented е сравнително лесно както с уеб сървърите "Apache", така и с "NGINX".

Apache Webserver

Уеб сървърът "Apache" е един от най-разпространените уеб сървъри в интернет. За да създадете своя собствена страница за грешка 501 Not Implemented в "Apache", трябва да се направи следната промяна в следния файл.

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

NGINX Webserver

Подобно на уеб сървъра "Apache", "NGINX" също се използва широко в интернет. За да създадете своя собствена страница за грешка 501 Not Implemented в "NGINX", трябва да се направи следната промяна в следния файл.

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

Съвместимост на кода на състоянието 501 с браузъра

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

Константи в езиците за програмиране

HttpStatusCode.NotImplemented
http.StatusNotImplemented
Response::HTTP_NOT_IMPLEMENTED
httplib.NOT_IMPLEMENTED
http.client.NOT_IMPLEMENTED
http.HTTPStatus.NOT_IMPLEMENTED
:not_implemented
Автор: Tony Brüser
Автор: Tony Brüser

Тони Брусер е ентусиазиран уеб разработчик със склонност към HTTP кодовете за състояние.

LinkedInGitHub