The HTTP/1.1 specification (RFC 2616) имеет следующий сказать о значении status code 400, Bad Request (§10.4.1):HTTP 400 (плохой запрос) для логической ошибки, не уродлив синтаксис запроса
Запрос не может быть понят сервера из-за некорректный синтаксис , Клиент НЕ ДОЛЖЕН повторять запрос без изменений.
Там, как представляется, является общей практикой среди нескольких HTTP на основе API, в эти дни, чтобы использовать 400 для обозначения логического, а не ошибку в синтаксис с запросом. Я предполагаю, что API делают это, чтобы различать 400 (клиентский) и 500 (с помощью сервера). Допустимо или неверно использовать 400 для обозначения несинтаксических ошибок? Если это приемлемо, есть ли аннотированная ссылка на RFC 2616, которая обеспечивает более глубокое понимание предполагаемого использования 400?
Примеры:
Почему веб-сервер должен заботиться о синтаксических ошибках? – leppie
@leppie: веб-серверу необходимо убедиться, например, что строка запроса и заголовки хорошо сформированы. –
Но это был бы неверный запрос клиента. – leppie