Ответ 1
Я не уверен, что вы действительно помогаете кому-либо, охраняя эту ценность. Я бы предпочел, чтобы философия пыталась отправить полезные данные во всех случаях. Тем не менее, это не так много, чтобы представить похожие ситуации, когда нам нужна политика. Например, предположим, что у нас есть служба, которая может возвращать JSON или XML в зависимости от типа mime, возможно, лучше вернуть четкий код ответа, если указан неожиданный тип mime.
W3 сказать
Коды 4xx предназначены для случаев в котором клиент, похоже, имеет ошибочно, и коды 5xx для случаев в котором сервер знает, что сервер ошибся. Невозможно различают эти случаи в целом, поэтому разница только информационная.
Раздел тела может содержать документ, описывающий ошибку в человеческом читаемая форма. Документ находится в MIME формат и может быть только в текстовом / text/html или один для форматов указанных в запрос.
И поэтому кажется очевидным, что ответ должен быть 4xx, это клиент, выдающий неверный запрос. Я бы пошел с 400 BAD REQUEST и удостоверился, что возвращенный текст объясняет, почему запрос считается плохим.
W3 говорит для 400: У запроса был плохой синтаксис или по своей сути невозможно удовлетворить, и это действительно так.