Подтвердить что ты не робот

Какой код состояния следует использовать, если токен сеанса недействителен?

При создании веб-службы (RESTful) какой код состояния следует использовать, если токен сеанса недействителен? В настоящее время тот, что в моей компании отправляет мне 404, не найден, но я думаю, что это неверно, потому что ресурс существует. Возможно, я должен использовать 401 Unauthorized. Как вы думаете? Какой код статуса вы рекомендуете мне использовать в этом сценарии? Спасибо.

4b9b3361

Ответ 1

401 Несанкционированный.

Существующий токен сеанса больше не разрешает вам, поэтому вы не авторизованы.

Не забывайте, что токен сеанса является просто сокращенным, чтобы избежать необходимости предоставлять учетные данные для каждого запроса.

Отправка 404 неверна, поскольку, как вы заметили, ресурс существует. У вас просто нет разрешения на просмотр.

NB Не используйте 403 Forbidden; спецификация HTTP определяет его следующим образом: "Сервер понял запрос, но отказывается его выполнять. Авторизация не поможет, и запрос НЕ ДОЛЖЕН повториться". Это не применяется в этом случае, так как авторизация поможет.

Ответ 2

Просматривая HttpStatusCode enum, я думаю, Unauthorized, вероятно, ближе всего к тому, что вы ищете.

Взгляните на список и прочитайте описания для каждого из них.