HTTP401錯誤與HTTP403錯誤–狀態(tài)碼響應(yīng)說明
之前我們已經(jīng)詳細介紹了403HTTP錯誤代碼。那么401(未經(jīng)授權(quán))和403(禁止)狀態(tài)代碼之間到底有什么區(qū)別?他們是同一回事嗎?讓我們仔細看看!
RFC標準
401(未經(jīng)授權(quán))的最新RFC標準是RFC 7235:401(未經(jīng)授權(quán))狀態(tài)碼表示該請求尚未應(yīng)用,因為它缺少針對目標資源的有效身份驗證憑據(jù)...用戶代理可以使用新的或替換的Authorization標頭字段重復(fù)該請求。
403(禁止)是RFC 7231中最新定義的:403(禁止)狀態(tài)碼表示服務(wù)器理解了請求但拒絕對其進行授權(quán)...如果請求中提供了身份驗證憑據(jù),則服務(wù)器認為它們不足以授予訪問權(quán)限。
明顯原因
如前一篇文章所述,403錯誤可能是已登錄的情況,但是用戶沒有足夠的特權(quán)來訪問請求的資源。例如,一般用戶可能正在嘗試加載“管理員”路由。另一方面,遇到401錯誤最明顯的是你根本沒有登錄或提供了錯誤的密碼。這是兩個最常見的錯誤原因。
不太明顯的原因
在某些情況下,它并不是那么的簡單。由于限制并不完全取決于登錄用戶的憑據(jù),因此可能會發(fā)生403錯誤。例如,服務(wù)器可能已鎖定特定資源以僅允許來自預(yù)定義IP地址范圍的訪問,或者可能利用了地理阻止。VPN可以繞過后者進行訪問。
即使用戶輸入正確的憑據(jù),也會發(fā)生401錯誤。這種情況很少見,但是如果授權(quán)標頭格式錯誤,它將返回401。例如,你可能要包含一個JWT(JSON Web令牌)在請求標頭中,其格式為Authorization: BearereyJhbGci......yJV_adQssw5c。如果你在JWT之前忘記了“承載者”一詞,則會遇到401錯誤。在使用Postman測試正在開發(fā)的API時,我自己遇到了這個問題,卻忘記了auth標頭的正確語法!
友情提示:A5官方SEO服務(wù),為您提供權(quán)威網(wǎng)站優(yōu)化解決方案,快速解決網(wǎng)站流量異常,排名異常,網(wǎng)站排名無法突破瓶頸等服務(wù):http://www.admin5.cn/seo/zhenduan/
申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!