ХТТП 401 грешка у односу на ХТТП 403 грешку - Објашњени одговори на статусни код

И раније смо детаљно покривали код грешке 403 (забрањени) ХТТП, али такође има готово идентичног брата и сестру.

Дакле, која је тачно разлика између статусних кодова 401 (неовлашћено) и 403 (забрањено)? Сигурно мисле на исто? Погледајмо изблиза!

РФЦ стандарди

Најсавременији РФЦ стандард који дефинише 401 (неовлашћено) је РФЦ 7235

Статусни код 401 (неовлашћено) указује на то да захтев није примењен јер му недостају ваљани акредитиви за потврду идентитета за циљни ресурс ... Кориснички агент МОЖЕ да понови захтев са новим или замењеним пољем заглавља ауторизације.

Док је 403 (Забрањено) недавно дефинисано у РФЦ 7231

Статусни код 403 (забрањен) указује на то да је сервер разумео захтев, али одбија да га одобри ... Ако су у захтеву наведени акредитиви за потврду идентитета, сервер их сматра недовољним за одобравање приступа.

Уобичајени узроци

Као што је поменуто у претходном чланку, грешка 403 може настати када се корисник пријави, али нема довољно привилегија за приступ траженом ресурсу. На пример, генерички корисник можда покушава да учита „администраторску“ руту.

С друге стране, најочигледнији пут када наиђете на грешку 401 је када се уопште нисте пријавили или сте дали нетачну лозинку.

Ово су два најчешћа узрока за овај пар грешака.

Мање уобичајени узроци

Постоје неки случајеви у којима то није баш тако једноставно.

До грешака 403 може доћи због ограничења која нису у потпуности зависна од пријављених корисничких акредитива.

На пример, сервер је можда закључао одређене ресурсе да би омогућио приступ само из унапред дефинисаног опсега ИП адреса или може да користи гео-блокирање. Ово последње се потенцијално може заобићи ВПН-ом.

До грешака 401 може доћи чак и ако корисник унесе исправне акредитиве. То је ретко и можда је нешто са чиме се заиста сусрећете само док развијате сопствене потврђене позадине. Али ако је заглавље ауторизације погрешно обликовано, вратиће се 401.

На пример, можда имате ЈВТ (ЈСОН веб жетон) који желите да укључите у заглавље захтева, а који очекује формат Authorization: Bearer eyJhbGci......yJV_adQssw5c. Ако бисте заборавили реч „носилац“ пре ЈВТ, наишли бисте на грешку 401.

И сам сам налетео на овај проблем када сам тестирао АПИ-је у развоју са Постман-ом и заборавио тачну синтаксу за заглавља аутх!

То је то

Надам се да ће ово разјаснити сваку забуну око ових врло сличних грешака.

Ако вам је ово корисно или желите да оспорите или проширите било шта овде покренуто, слободно ме контактирајте на Твиттер @ЈацксонБатес.