401 Unauthorized: 該HTTP狀態(tài)碼表示認(rèn)證錯(cuò)誤乔夯,它是為了認(rèn)證設(shè)計(jì)的库说,而不是為了授權(quán)設(shè)計(jì)的藏斩。收到401響應(yīng),表示請(qǐng)求沒有被認(rèn)證—壓根沒有認(rèn)證或者認(rèn)證不正確—但是請(qǐng)重新認(rèn)證和重試菇存。(一般在響應(yīng)頭部包含一個(gè)WWW-Authenticate來(lái)描述如何認(rèn)證)夸研。通常由web服務(wù)器返回,而不是web應(yīng)用依鸥。從性質(zhì)上來(lái)說(shuō)是臨時(shí)的東西亥至。(服務(wù)器要求客戶端重試)
403 Forbidden:該HTTP狀態(tài)碼是關(guān)于授權(quán)方面的。從性質(zhì)上來(lái)說(shuō)是永久的東西毕籽,和應(yīng)用的業(yè)務(wù)邏輯相關(guān)聯(lián)抬闯。它比401更具體,更實(shí)際关筒。收到403響應(yīng)表示服務(wù)器完成認(rèn)證過(guò)程溶握,但是客戶端請(qǐng)求沒有權(quán)限去訪問(wèn)要求的資源。
總的來(lái)說(shuō)蒸播,401 Unauthorized響應(yīng)應(yīng)該用來(lái)表示缺失或錯(cuò)誤的認(rèn)證睡榆;403 Forbidden響應(yīng)應(yīng)該在這之后用,當(dāng)用戶被認(rèn)證后袍榆,但用戶沒有被授權(quán)在特定資源上執(zhí)行操作胀屿。
HTTP狀態(tài)碼決策圖:
參考資料
403 Forbidden vs 401 Unauthorized HTTP responses
HTTP Status Codes Decision Diagram – Infographic