Ошибка 405 — HTTP-статусы
Что это значит
Код 405 Method Not Allowed означает, что сервер распознал запрос клиента, но используемый HTTP-метод (например, POST, PUT, DELETE) не разрешён для указанного ресурса. Сервер в ответе должен включать заголовок Allow с перечнем допустимых методов. Пользователь видит сообщение об ошибке, часто с текстом «405 Method Not Allowed» или «Метод не поддерживается». Это штатная ситуация, указывающая на неверное использование API или веб-формы.
Вероятные причины
- Отправка POST-запроса на статический HTML-файл, который принимает только GET
- Использование DELETE-метода на ресурсе, который не поддерживает удаление
- Ошибка в клиентском коде (например, неправильно указан метод в fetch или AJAX)
- Некорректная конфигурация веб-сервера (например, Apache или Nginx) — запрещён метод для данного location
- Прокси-сервер или балансировщик блокирует определённые методы
- Веб-приложение не реализовало обработчик для данного метода
- Ошибка в маршрутизации фреймворка (например, в Laravel или Express)
- Кеширующий прокси возвращает 405 вместо передачи запроса на бэкенд
Что делать — по порядку
- Проверьте, какой HTTP-метод отправляет клиент (через инструменты разработчика браузера или логи).
- Убедитесь, что URL ресурса корректен и соответствует ожидаемому эндпоинту.
- Проверьте заголовок Allow в ответе сервера — он показывает разрешённые методы.
- Измените метод запроса на один из разрешённых (например, с POST на GET).
- Если вы администратор сервера, проверьте конфигурацию веб-сервера (файлы .htaccess, nginx.conf) на наличие директив, ограничивающих методы.
- Проверьте логи сервера (access.log, error.log) на предмет блокировки метода.
- Если используется фреймворк, убедитесь, что маршрут определён для нужного метода (например, Route::post() вместо Route::get()).
- При наличии прокси (Cloudflare, Varnish) временно отключите его для проверки.
Нажимайте на пункты, чтобы отмечать выполненные.
Частые вопросы
Что означает ошибка 405?
Сервер сообщает, что HTTP-метод вашего запроса не разрешён для данного URL. Например, вы отправили POST на страницу, которая принимает только GET.
Как исправить ошибку 405?
Проверьте, какой метод используете, и замените его на разрешённый (обычно GET или POST). Также убедитесь, что URL правильный.
Ошибка 405 — это проблема клиента или сервера?
Чаще всего проблема на стороне клиента — неверный метод запроса. Но может быть и серверная конфигурация, если метод должен быть разрешён.
Может ли 405 быть из-за кеша?
Да, если кеширующий прокси возвращает 405 вместо передачи запроса на сервер. Очистите кеш или временно отключите прокси.
Какой заголовок должен быть в ответе 405?
Сервер обязан вернуть заголовок Allow с перечнем разрешённых методов, например: Allow: GET, HEAD.
Источники
- HTTP Status Codes - MDN Web Docs проверено 28.07.2026
- RFC 7231 - Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content проверено 28.07.2026
Где встречается
Любые HTTP-серверы и веб-приложения (Apache, Nginx, IIS, Node.js, Python, PHP и др.)