Ваш клиент должен обращать внимание на полезную нагрузку HTTP-ответа. Коды состояния, как и заголовки, представляют собой метаданные, которые описывают семантику полезной нагрузки для универсальных компонентов, чтобы они могли вести себя разумно.
Например, если мы делали это с веб-сайт, и вы хотели сказать человеку, что требуется смена пароля, затем вы пишете это в документе html. Браузер отобразит документ, человек прочитает его и узнает, что делать.
Код состояния предназначен для браузера , а также кеша и любых промежуточных компонентов, которые могут читать запрос и ответ.
Коды состояния являются частью унифицированного интерфейса, то есть семантика кода одинакова для всех ресурсов.
Использование 200 OK в тех случаях, когда сервер отказал в удовлетворении запроса, не хорошая идея, поскольку основное значение 200 состоит в том, что запрос был успешно выполнен .
Важно правильно различать коды классов 2xx и 4xx из-за аннулирования кэша .
Ваша лучшая ставка, вероятно, 403 Запрещено
сервер понял запрос, но отказывается его авторизовать. Сервер, который хочет опубликовать c, почему запрос был запрещен, может описать эту причину в полезной нагрузке ответа (если есть).