Очевидно, что некоторые POST-запросы формы должны приводить к ошибке HTTP 4xx (например, неправильный URL-адрес, отсутствие ожидаемого поля, отказ от отправки файла cookie), но существующие вопросы like this, по-видимому, указывают, что все недопустимые формы должны быть рассмотрены ошибки 4xx HTTP. В самом деле?Является ли простая парольная версия действительно ошибкой HTTP?
Ошибочные пароли или случайное исключение обязательных полей чрезвычайно распространены и ожидаемых событий в приложении. Из любой спецификации не ясно, что это должно быть «ошибкой HTTP-клиента» или что POST можно считать только 2xx успешным, если он дает постоянное изменение состояния.
Я полагаю, что моя интуиция заключается в том, что если сервер отправляет клиенту форму, и клиент оперативно отвечает правильно сформированным запросом POST в эту форму со всеми ожидаемыми полями, то нарушение общей бизнес-логики не должно быть Ошибка HTTP.
Ситуация еще менее определена, если форма передается над чем-то вроде JSON-RPC. HTTP - это всего лишь механизм транспорта, и если функция успешно вызвана и ответ возвращается вызывающему, то должна быть ошибка HTTP.
Реже, некоторые формы могут выполнять несколько действий, и одна часть может преуспеть, а другая не удалась.
В идеале IETF очистит это с помощью RFC, возможно, добавит код ошибки HTTP для того, чтобы «операция не была выполнена из-за отказа в аннулировании формы» или расширила определение 422, чтобы охватить это.
Почему вы опубликовали это? Написать блог. – Amit
Вы задаете вопрос или пытаетесь ответить на связанный вопрос? –
Я думаю, что это был особый вопрос, но позвольте мне снова посмотреть. –