HTTP 400 (неверный запрос) для логической ошибки, а не синтаксиса искаженного запроса

В спецификации HTTP / 1.1 (RFC 2616) говорится следующее о значении кода состояния 400, неверный запрос (§10.4.1) :

Запрос не может быть понят сервер из-за неправильного синтаксиса. Клиент НЕ ДОЛЖЕН повторять запрос без модификаций.

В наши дни, похоже, существует общая практика среди нескольких API на основе HTTP использовать 400 для обозначения логической , а не синтаксической ошибки с запросом . Я предполагаю, что API делают это, чтобы различать 400 (инициированный клиентом) и 500 (инициированный сервером). Допустимо или неправильно использовать 400 для обозначения несинтаксических ошибок? Если это приемлемо, существует ли аннотированная ссылка на RFC 2616, которая дает более полное представление о предполагаемом использовании 400?

Примеры:

63
задан Atif Aziz 24 January 2011 в 18:17
поделиться