Разница между http-кодом статуса ответа 402 и 403

Друзья и коллеги,

У нас есть и 402, и 403 http-кода ответа. Хотя 402 зарезервировано для будущего использования.

В чем (или будет) разница между этими двумя. Не полученная оплата должна быть равной не авторизованной, не так ли?

РЕДАКТИРОВАТЬ: Я хотел бы знать ответы на вопрос "Почему 402 требуется, когда у нас уже есть угол 403".

3 ответа

Решение

403 Запрещено

Сервер понял запрос, но отказывается его выполнить. Авторизация не поможет и запрос НЕ ДОЛЖЕН повторяться. Если метод запроса не был HEAD и сервер желает обнародовать, почему запрос не был выполнен, он ДОЛЖЕН описать причину отказа в объекте. Если сервер не желает предоставлять эту информацию клиенту, вместо него можно использовать код состояния 404 (не найден).

http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

Это поможет?

Код состояния HTTP 402 действительно отличается от кода 403:

Как указано в RFC 2616, код состояния 402

402 Payment Required

Это означает, что запрос, как правило, не запрещен, но требует оплаты.

Очевидно, что для использования этого зарезервированного кода состояния проделана определенная работа.

Я думаю, что в настоящее время он не нужен (или просто не используется, потому что не указано, как его использовать), но авторы стандарта решили, что его можно использовать в будущем, что может быть полезно.

Обратите внимание, что пропуск платежа - это только одна из причин, по которой ваш сервер отклоняет запрос. Вы можете получить "запрещенный" статус в других ситуациях, таких как неверные учетные данные, попытка доступа к "частному ресурсу" и т. Д.

Я верю, что 402 существует только для того, чтобы предоставить более подробную информацию о причине отказа в запросе.

Другие вопросы по тегам