Какой код состояния должен быть возвращен, если клиент отправляет HTTP-запрос и указывает заголовок Content -Encoding, который не может быть декодирован сервером?
Пример
Клиент отправляет данные JSON в ресурс REST и кодирует тело объекта с помощью кодирования gzip. Однако сервер может декодировать только кодировку DEFLATE, потому что он не прошел класс gzip в школе серверов.
Какой код ответа HTTP должен быть возвращен? Я бы сказал 415 Неподдерживаемый тип носителя , но проблема заключается не в типе содержимого -объекта --, а в кодировке тела объекта, поддерживаемого в противном случае.
Что больше подходит :415? 400? Возможно, пользовательский код ответа?
Приложение:Я, конечно, тщательно проверил rfc2616. Если ответ есть, мне могут понадобиться новые корректирующие очки, но я так не думаю.
Обновление:
Это не имеет ничего общего с отправкой ответа, который может быть неприемлем для клиента. Проблема заключается в том, что клиент отправляет серверу то, что может быть или не быть допустимым типом мультимедиа в кодировке, которую сервер не может понять (в соответствии с заголовком Content-Encoding
, который клиент упаковал с сообщением запроса ).
Это крайний -случай, и он не будет встречаться при работе с агентами пользователя -браузера, но может возникнуть в REST API, принимающих тела сущностей для создания/изменения ресурсов.