HTTP狀態(tài)碼401表示"Unauthorized"(未經(jīng)授權(quán))。當(dāng)客戶端向服務(wù)器發(fā)送請(qǐng)求時(shí),服務(wù)器返回401狀態(tài)碼,表示請(qǐng)求需要進(jìn)行身份驗(yàn)證或權(quán)限驗(yàn)證,以便確定客戶端是否有權(quán)訪問所請(qǐng)求的資源。
401狀態(tài)碼通常與HTTP身份驗(yàn)證機(jī)制一起使用。服務(wù)器可以在返回401狀態(tài)碼的響應(yīng)中包含一個(gè)WWW-Authenticate頭,指示客戶端應(yīng)該提供適當(dāng)?shù)膽{據(jù)(如用戶名和密碼)來進(jìn)行身份驗(yàn)證??蛻舳丝梢栽诤罄m(xù)請(qǐng)求中使用這些憑據(jù)來重新發(fā)送請(qǐng)求,以獲得授權(quán)訪問所需的資源。
以下是一些常見的情況導(dǎo)致服務(wù)器返回401狀態(tài)碼:
1. 缺少身份驗(yàn)證憑據(jù):客戶端請(qǐng)求的資源需要進(jìn)行身份驗(yàn)證,但請(qǐng)求未提供有效的身份驗(yàn)證憑據(jù)。這可能是由于缺少身份驗(yàn)證頭或提供的憑據(jù)無效。
2. 錯(cuò)誤的身份驗(yàn)證憑據(jù):客戶端提供的身份驗(yàn)證憑據(jù)無效,可能是由于錯(cuò)誤的用戶名、密碼或令牌。
3. 缺少訪問權(quán)限:客戶端提供了有效的身份驗(yàn)證憑據(jù),但所請(qǐng)求的資源需要特定的權(quán)限或角色才能訪問??蛻舳丝赡軟]有足夠的權(quán)限來訪問資源。
4. 身份驗(yàn)證過期:客戶端提供的身份驗(yàn)證憑據(jù)已過期,需要重新進(jìn)行身份驗(yàn)證以獲取新的憑據(jù)。
當(dāng)客戶端收到401狀態(tài)碼時(shí),通常會(huì)提示用戶提供有效的憑據(jù)或重新登錄,并重新發(fā)送請(qǐng)求進(jìn)行身份驗(yàn)證??蛻舳丝梢栽谡?qǐng)求頭中包含適當(dāng)?shù)纳矸蒡?yàn)證信息(如Authorization頭)來提供憑據(jù)。
需要注意的是,401狀態(tài)碼與403狀態(tài)碼("Forbidden",禁止訪問)的區(qū)別在于,401表示請(qǐng)求需要進(jìn)行身份驗(yàn)證,而403表示請(qǐng)求被服務(wù)器拒絕,客戶端即使提供了憑據(jù)也無法訪問所請(qǐng)求的資源。