Что означает HTTP статус 405 Method Not Allowed?

«Что означает HTTP статус 405 Method Not Allowed?» — вопрос из категории HTTP и веб-протоколы, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Статус 405 Method Not Allowed указывает, что HTTP-метод, использованный в запросе (например, POST, DELETE), известен серверу, но не разрешён для целевого ресурса.

Согласно спецификации, ответ с кодом 405 должен содержать заголовок Allow, перечисляющий допустимые методы для данного URL.

Пример ответа сервера:

HTTP/1.1 405 Method Not Allowed
Allow: GET, HEAD, POST
Content-Type: application/json

{
  "error": "DELETE method is not supported for this endpoint."
}

Типичные причины:

  • Попытка выполнить DELETE для ресурса, доступного только для чтения (GET, HEAD).
  • Вызов PUT на коллекцию, где разрешено только создание через POST.
  • Ошибка в конфигурации маршрутизации на сервере (например, в REST API framework).

Действия при получении 405:

  1. Проверить документацию API для нужного эндпоинта.
  2. Убедиться в правильности HTTP-метода в запросе.
  3. Изучить заголовок Allow в ответе, чтобы узнать доступные методы.