415
Средняя важность — нужна диагностика

Ошибка 415 — HTTP-статусы

Что это значит

Код 415 HTTP означает, что сервер отказывается обрабатывать запрос, потому что формат данных в теле запроса не поддерживается сервером. Сервер ожидает определённый MIME-тип (например, application/json), а клиент отправил данные в другом формате (например, text/xml). Пользователь видит сообщение об ошибке или пустую страницу, если клиент (браузер, приложение) не обработал ответ корректно. Система логирует ошибку и возвращает заголовок Accept с перечнем поддерживаемых типов.

Вероятные причины

  • Клиент отправляет данные в формате, не указанном в заголовке Content-Type
  • Сервер настроен только на определённые MIME-типы (например, только JSON)
  • Ошибка в коде клиента: неправильно установлен Content-Type
  • Прокси или балансировщик изменяет Content-Type запроса
  • Устаревшая версия API, которая больше не поддерживает старые форматы
  • Отсутствует заголовок Content-Type в запросе
  • Конфликт версий: клиент и сервер ожидают разные версии формата (например, application/vnd.api+json vs application/json)
  • Некорректная настройка серверного фреймворка (например, ASP.NET требует атрибут [Consumes])

Что делать — по порядку

  1. Проверьте заголовок Content-Type в запросе — он должен соответствовать ожидаемому сервером формату
  2. Убедитесь, что сервер возвращает заголовок Accept с перечнем поддерживаемых типов
  3. Измените Content-Type на поддерживаемый (например, application/json вместо text/plain)
  4. Проверьте документацию API на предмет поддерживаемых форматов
  5. Если используете curl или Postman, явно укажите Content-Type и Accept
  6. Проверьте, не блокирует ли прокси или WAF изменение Content-Type
  7. Обновите клиентскую библиотеку до версии, совместимой с сервером
  8. Настройте сервер на поддержку нескольких форматов (например, через content negotiation)

Нажимайте на пункты, чтобы отмечать выполненные.

Частые вопросы

Что делать, если я получаю 415 при отправке JSON?

Проверьте, что Content-Type: application/json указан точно, без лишних пробелов или кавычек. Также убедитесь, что сервер ожидает именно JSON, а не, например, application/vnd.api+json.

Может ли 415 возникнуть из-за неправильного Accept?

Нет, 415 связан с Content-Type (форматом тела запроса). Accept влияет на формат ответа и вызывает 406 Not Acceptable.

Как исправить 415 в Postman?

Перейдите на вкладку Headers и добавьте заголовок Content-Type со значением, которое поддерживает сервер (например, application/json).

Почему сервер возвращает 415, если я отправляю XML?

Сервер может быть настроен только на JSON. Проверьте документацию API или настройте сервер на поддержку XML.

415 — это ошибка клиента или сервера?

Это ошибка клиента (4xx). Клиент отправил данные в неподдерживаемом формате.

Источники