Если пользователь отправляет запрос на сервер, а для связи требуются определенные пользовательские заголовки для работы. В этом случае код ошибки должен быть 400
, 403
или 422
?Какой код состояния HTTP используется, когда требуемый заголовок не указан?
ответ
Спецификация HTTP требует, чтобы любой клиент обрабатывал ответ как 400 по умолчанию, если он не понимает конкретного значения последних двух цифр. Поэтому вы всегда должны проектировать с предположением, что некоторые клиенты будут обрабатывать ответ как 400.
Если вы можете найти код состояния 4xx, специальная дополнительная обработка которого лучше подходит для вашего приложения, а затем используйте его. Когда клиент понимает достаточно, чтобы выполнить эту дополнительную обработку, вам немного лучше, чем если бы вы отправили статус по умолчанию.
В настоящее время зарегистрированных код состояния, которые, кажется, чтобы соответствовать вашим серверам значений являются:
- 403 Forbidden - это о сервере отклоняет запрос, пока не будет каким-то образом изменились. Предпочтительно по причине, указанной в корпусе реакции.
- 406 Не допустимо - это более точно относится к значениям в заголовках запроса, которые не являются правильными. Наиболее часто используется для значений заголовка Accept:.
- 412 Условие не выполнено - это касается проблем с заголовками, связанными с ведением переговоров о том, какой орган ответа будет отправлен. Наиболее часто используется для значений заголовка If- *.
403 представляется наиболее точным, когда сервер отказался предоставить что-либо, если не отправлены пользовательские заголовки.
- 1. Какой код состояния http следует использовать, когда конфигурация клиента неверна?
- 2. Какой Http перенаправляет код состояния для использования?
- 3. Код состояния статуса Http
- 4. Подходящий код состояния HTTP
- 5. Какой код состояния использовать?
- 6. Код состояния HTTP для Captcha
- 7. Какой код ISO использует HTTP-заголовок Accept-Language?
- 8. Когда используется заголовок REPLY_CHANNEL
- 9. SimpleXMLElement - код состояния HTTP?
- 10. Пользовательский код состояния HTTP
- 11. System.Net.WebException Код состояния HTTP
- 12. 502 HTTP-код состояния
- 13. Какой HTTP-код используется для перенаправления на загружаемый файл?
- 14. Какой код состояния HTTP используется при отображении альтернативной страницы ошибок для старых браузеров?
- 15. $ http не указан
- 16. SoundCloud - 401 Код состояния HTTP
- 17. Какое исключение или код состояния http, когда сервер не работает
- 18. Какой должен быть код состояния Http для ожидающего запроса?
- 19. Код состояния HTTP. Каков наилучший код состояния для пустого параметра?
- 20. Какой код состояния HTTP следует использовать для пользовательских ошибок?
- 21. Какой заголовок аутентификации используется в Asterisk?
- 22. Какой код состояния HTTP следует использовать для проверки псевдонима?
- 23. Какой код HTTP возвращается, когда запись находится в неуместном состоянии?
- 24. Http Код состояния Factory AngularJs
- 25. Код состояния HTTP для плохих данных
- 26. HTTP «Не выполняйте!» Заголовок
- 27. Модуль Тестирование Код состояния Http
- 28. Как изменить код состояния HTTP, когда используется директива Spring Security «require-channel»?
- 29. HTTP-код состояния, указывающий, что клиент устарел
- 30. Код состояния HTTP для отсутствующей аутентификации
Некоторые обсуждения здесь - http://stackoverflow.com/questions/3050518/what-http-status-response-code-should-i-use-if-the-request-is-missing-a-required - – Prabhu
Заголовки и параметры разные, не так ли? – sarunast
Да ... Я думаю, что отсутствующие параметры также являются семантическим несоответствием. Итак, я думаю, что 422 костюма отлично. – Prabhu