Выбор ответа Junior REST API и OpenAPI спрашивают часто обновлено

401 или 403

Вопрос

Пользователь вошёл в систему, но запрашивает чужой отчёт, к которому у него нет прав. Какой статус вернуть?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: 403 Forbidden. 401 означает, что клиент не аутентифицирован (нет или невалиден токен).

Варианты ответа

  1. 429 Too Many Requests
  2. 400 Bad Request
  3. 401 Unauthorized
  4. 403 Forbiddenправильный ответ

Разбор

401 означает, что клиент не аутентифицирован (нет или невалиден токен). Здесь пользователь известен, но прав нет: 403. Иногда в таком случае возвращают 404, чтобы не раскрывать существование ресурса, это осознанное решение по безопасности. 400 про некорректный запрос, 429 про лимиты.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.