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