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