Битлента
Ошибки и коды3 мин чтения·

HTTP 415 Unsupported Media Type: сервер не принимает этот формат данных

Код 415 означает, что сервер не поддерживает формат присланных данных. Разбираем заголовок Content-Type, типичные ошибки клиентов и порядок проверки.

О чём говорит 415

Код 415 показывает, что сервер понял запрос, но не готов работать с тем форматом, в котором отправлены данные. Формат указывается заголовком Content-Type: например, JSON, данные формы или файл определённого типа. Если сервер ожидает одно, а получает другое, он отвечает 415.

Ошибка касается именно тела запроса. Если бы проблема была в формате желаемого ответа, сервер использовал бы другой код, связанный с согласованием содержимого. Поэтому при 415 нужно смотреть на то, что вы отправляете, а не на то, что получаете.

Наиболее вероятные причины: HTTP 415 Unsupported Media Type

Первая: клиент вообще не указал Content-Type или указал неверный. Например, отправляет JSON, но заголовок сообщает, что это обычная форма. Вторая: сервер поддерживает только один формат, а клиент шлёт другой, скажем, XML вместо JSON.

Третья причина — загрузка файла в неподдерживаемом формате: сервис принимает изображения, а вы выбрали документ другого типа или файл с переименованным расширением. Четвёртая — неверная кодировка или сжатие содержимого, которых сервер не ожидает. Пятая — обращение к неправильному адресу, где обработчик поддерживает иной формат, чем нужный.

Проверка для пользователя сайта

Если ошибка возникла при загрузке файла на обычном сайте, проверьте требования к формату в подсказке возле кнопки. Многие сервисы принимают лишь несколько типов. Убедитесь, что расширение соответствует реальному содержимому: файл, у которого поменяли только окончание имени, сервер распознаёт по внутренней структуре и отвергает.

Попробуйте пересохранить файл в допустимом формате стандартными средствами графической или офисной программы. Если загрузка идёт через мобильное приложение, обновите его: устаревшая версия могла отправлять данные в формате, который сервер больше не принимает.

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно

Проверка для разработчика

Откройте вкладку сети в инструментах браузера или включите подробный вывод в утилите командной строки и сравните заголовки отправляемого запроса с документацией сервиса. Убедитесь, что Content-Type точно совпадает с ожидаемым значением, включая необязательную кодировку, если она требуется.

Частая ошибка — автоматическая подстановка заголовка библиотекой. Одни инструменты сами выставляют нужный тип, другие оставляют значение по умолчанию. Если вы отправляете файлы, проверьте, что запрос действительно составной, с границей между частями, а не обычный текстовый.

Частые сценарии на практике

Классический пример: скрипт отправляет JSON, но забывает указать соответствующий Content-Type, и сервер, ожидающий именно этот тип, отвечает 415. Исправляется одной строкой в настройках запроса. Обратный пример: интерфейс принимает данные формы, а клиент шлёт JSON.

Отдельный случай — загрузка изображений. Сервис принимает, скажем, только несколько популярных форматов, а телефон сохранил снимок в другом, более новом формате. Пользователь видит непонятный отказ, хотя файл открывается на устройстве без проблем. Решение — экспортировать снимок в широко поддерживаемый формат или изменить настройки камеры.

Стоит помнить и о вложенных проверках: даже когда общий тип разрешён, сервер может отклонить конкретный подтип, сжатие или кодировку. Поэтому сообщение 415 всегда лучше читать вместе с документацией сервиса, где перечислены допустимые форматы, размеры и ограничения. Если документации нет, пробуйте самый распространённый вариант и сравнивайте заголовки с работающим примером.

Что исправить на сервере

Если сервер отклоняет формат, который по замыслу должен принимать, проверьте настройки обработчиков и промежуточных модулей. Иногда 415 появляется из-за того, что фреймворк не подключил разбор нужного формата или список разрешённых типов не включает вариант с указанием кодировки.

Хорошая практика — возвращать в теле ответа перечень поддерживаемых типов. Так клиентам не приходится гадать, и число обращений в поддержку сокращается.

Если вы отвечаете за сервис, добавьте в документацию таблицу поддерживаемых форматов с примерами запросов. Проверяйте формат по заголовку и по фактическому содержимому, но не полагайтесь только на расширение файла. Для незнакомого типа возвращайте понятное сообщение со списком допустимых значений, тогда пользователи и разработчики интеграций сами быстро исправят запрос.

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно
http415content-typeapi

Часто задаваемые вопросы

Читайте также