401 и 403: в чём разница и при чём тут аналитик
Оба кода означают отказ, и в требованиях их часто сваливают в одну кучу. Разница сводится к одному вопросу: знает ли сервер, кто к нему пришёл.
▪︎ 401 - сервер не знает, кто ты. Токена в запросе нет, он просрочен или недействителен, помогает войти заново или обновить токен.
▪︎ 403 - сервер знает, кто ты, и прав на это действие у тебя нет. Сколько ни входи заново, ответ будет тем же, пока не выдадут доступ.
Путает и название: 401 официально зовётся Unauthorized, хотя речь про аутентификацию, так сложилось исторически.
Пример. Сотрудник вернулся с обеда, сессия истекла, он сохраняет документ и получает 401, системе нужно показать форму входа и не потерять текст. Вот он снова вошёл, открывает зарплаты всего отдела и получает 403, тут уместно сообщение, что доступ ограничен.
Если в требованиях это не разведено, интерфейс покажет одну и ту же невнятную ошибку, и человек, которому хватило бы перелогиниться, пойдёт в поддержку.
Бывает, что вместо 403 сознательно отдают 404, чтобы посторонний не узнал даже о существовании ресурса. Это решение тоже фиксируют явно, иначе разработка выберет код на свой вкус.
↔️Листай карточки, там оба кода рядом.
Проверь себя: ты вошёл в интернет-магазин как покупатель и по прямой ссылке открыл админку. Какой код должен прийти? Ответ пиши в комменты👇
#ошибки #айти #чтозаошибка
Оба кода означают отказ, и в требованиях их часто сваливают в одну кучу. Разница сводится к одному вопросу: знает ли сервер, кто к нему пришёл.
▪︎ 401 - сервер не знает, кто ты. Токена в запросе нет, он просрочен или недействителен, помогает войти заново или обновить токен.
▪︎ 403 - сервер знает, кто ты, и прав на это действие у тебя нет. Сколько ни входи заново, ответ будет тем же, пока не выдадут доступ.
Путает и название: 401 официально зовётся Unauthorized, хотя речь про аутентификацию, так сложилось исторически.
Пример. Сотрудник вернулся с обеда, сессия истекла, он сохраняет документ и получает 401, системе нужно показать форму входа и не потерять текст. Вот он снова вошёл, открывает зарплаты всего отдела и получает 403, тут уместно сообщение, что доступ ограничен.
Если в требованиях это не разведено, интерфейс покажет одну и ту же невнятную ошибку, и человек, которому хватило бы перелогиниться, пойдёт в поддержку.
Бывает, что вместо 403 сознательно отдают 404, чтобы посторонний не узнал даже о существовании ресурса. Это решение тоже фиксируют явно, иначе разработка выберет код на свой вкус.
↔️Листай карточки, там оба кода рядом.
Проверь себя: ты вошёл в интернет-магазин как покупатель и по прямой ссылке открыл админку. Какой код должен прийти? Ответ пиши в комменты👇
#ошибки #айти #чтозаошибка