Выбор ответа Junior REST API и OpenAPI спрашивают часто обновлено
401 или 403
Вопрос
Пользователь вошёл в систему, но запрашивает чужой отчёт, к которому у него нет прав. Какой статус вернуть?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: 403 Forbidden. 401 означает, что клиент не аутентифицирован (нет или невалиден токен).
Варианты ответа
- 429 Too Many Requests
- 400 Bad Request
- 401 Unauthorized
- 403 Forbiddenправильный ответ
Разбор
401 означает, что клиент не аутентифицирован (нет или невалиден токен). Здесь пользователь известен, но прав нет: 403. Иногда в таком случае возвращают 404, чтобы не раскрывать существование ресурса, это осознанное решение по безопасности. 400 про некорректный запрос, 429 про лимиты.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.