RFC 7231 описывает семантику Accept header
Запрос без какого-либо поля заголовка Accept подразумевает, что пользовательский агент примет любой тип носителя в ответ.
Если поле заголовка присутствует в запросе и ни одно из доступных представлений для ответа не имеет тип носителя, который указан в качестве приемлемого, сервер происхождения может либо заполнить поле заголовка, отправив ответ 406 (не приемлемо), либо не обращайте внимания на поле заголовка, обрабатывая ответ, как если бы он не подлежал согласованию содержимого.
Заголовок Accept, предоставленный клиентом, вероятно, должен отражать контекст запроса, видимый клиентом; например, веб-браузер может разумно использовать другой заголовок Accept для <img>
, чем для <script>
, в каждом случае поощряя сервер предоставлять полезные представления.
В случае POST вы пытаетесь договориться о представлении «статуса или результатов, полученных в результате действия», а не о представлении самого ресурса.
Если представление ответа имеет длину ноль байтов , когда тип носителя равен application/json
, то я ожидаю, что ответ также будет иметь длину 0 байт, если тип носителя равен application/xml
, Поэтому для меня не очевидно принимать одно, а другое нет.