405

Method Not Allowed

Официален Кодове на подстатуси
Методът, използван за заявката, не е разрешен

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

Кодът на състоянието 405 Method Not Allowed показва, че методът, получен в реда на заявката, е известен на сървъра на произхода, но не се поддържа от целевия ресурс. Оригиналният сървър ТРЯБВА да генерира поле Allow в отговор 405 Method Not Allowed, съдържащо списък на поддържаните в момента методи на целевия ресурс. Отговор 405 Method Not Allowed може да се кешира по подразбиране, т.е. освен ако не е посочено друго от дефиницията на метода или изричните контроли на кеширането

Източник / Цитат от: Кодът на състоянието 405 Method Not Allowed на HTTP е определен в раздел 6.5.5 на RFC7231.

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

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

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

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

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

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

Решението на проблема с HTTP статус код 405 Method Not Allowed е да се направят необходимите промени от страна на клиента или сървъра. По-долу ще обясня различни подходи, които могат да помогнат за решаването на проблема:

  1. Проверете поддържаните HTTP методи: Кодът на състоянието 405 Method Not Allowed се появява, когато клиентът използва HTTP метод, който не се поддържа от сървъра. Уверете се, че използвате правилния метод, например GET, POST, PUT или DELETE, в зависимост от действието, което искате да извършите. Проверете документацията на API или на сървъра, за да определите поддържаните методи за въпросния ресурс.
  2. Проверете URL адреса: Възможно е URL адресът да е неправилно форматиран или невалиден, което води до грешка 405 Method Not Allowed. Уверете се, че URL адресът е правилен и сочи към правилния ресурс на сървъра.
  3. Проверете разрешенията за достъп: Грешка 405 Method Not Allowed може да възникне, ако клиентът няма необходимите разрешения за извършване на исканото действие с ресурса. Проверете механизмите за контрол на достъпа на сървъра и се уверете, че клиентът има необходимите разрешения.
  4. Проверете конфигурацията на сървъра: Сървърът може да е конфигуриран да блокира определени HTTP методи за определени ресурси. Проверете конфигурацията на сървъра, за да се уверите, че желаният метод е разрешен за въпросния ресурс. Ако имате достъп до конфигурацията на сървъра, можете да я коригирате по подходящ начин.
  5. Проверете защитните стени и прокситата: Възможно е защитните стени или прокситата да ограничават HTTP трафика и да причиняват грешката 405 Method Not Allowed. Уверете се, че защитните стени или прокситата са конфигурирани правилно и разрешават необходимите HTTP методи за комуникация.
  6. Актуализирайте използвания софтуер: Понякога остарели или дефектни версии на софтуера (например уеб браузъри или API клиенти) могат да причинят грешки. Актуализирайте използвания софтуер до последната стабилна версия и проверете дали проблемът продължава.
  7. Справка с документацията или поддръжката: Ако нито едно от горните решения не решава проблема, трябва да се консултирате с официалната документация на сървъра или API. Там може да намерите конкретна информация или допълнителни стъпки за отстраняване на проблеми. Ако е необходимо, можете да се свържете и с техническата поддръжка на сървъра или API за допълнителна помощ.

Забележете, че решението на грешката 405 Method Not Allowed може да зависи от конкретната среда и контекст.

.

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

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

Apache Webserver

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

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

NGINX Webserver

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

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

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

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.MethodNotAllowed
http.StatusMethodNotAllowed
Response::HTTP_METHOD_NOT_ALLOWED
httplib.METHOD_NOT_ALLOWED
http.client.METHOD_NOT_ALLOWED
http.HTTPStatus.METHOD_NOT_ALLOWED
:method_not_allowed

Кодове на подсъстоянието на код 405

Кодовете за подсъстояние са чисто технически и никога не трябва да се изпращат на потребителя. Например, ако бъде хвърлен код на състоянието 405.1, той може да бъде регистриран, но код на състоянието 405 ще бъде изпратен на потребителя.:
405.0 Method not allowed
HTTP IIS, Неофициален
Автор: Tony Brüser
Автор: Tony Brüser

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

LinkedInGitHub