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