身份驗證服務允許禁用用戶帳戶(某種軟刪除)。對於「禁用」用戶,HTTP 401未授權或403禁止?
如果服務器然後收到一個禁用的用戶認證請求,否則將是有效的,如果服務器返回401或403?無論使用哪種狀態碼,我都會返回一條消息,指出該帳戶已被禁用。
對於快速參考,從HTTP/1.1 spec(重點煤礦)的相關報價:
401未授權
請求需要用戶驗證。響應必須包含一個 WWW-Authenticate標頭字段(14.47節),其中包含一個適用於請求資源的挑戰 。 客戶端可以用合適的授權標頭字段(14.8節)重複 請求。 如果 請求已包含授權憑證,那麼401 響應表明授權已被拒絕,這些憑證 憑證。如果401響應包含相同的挑戰,因爲 前一響應,並且用戶代理已經嘗試至少一次 認證,那麼用戶應提交這是在響應給出的 實體,因爲該實體可能 包括相關的診斷信息。 HTTP訪問認證 在「HTTP認證:基本和摘要訪問 認證」[43]中進行了說明。
403禁止
服務器理解了請求,但拒絕執行。 授權不會幫助和請求不應重複。 如果請求方法不是HEAD並且服務器希望公開讓 爲什麼請求未被滿足,那麼應該描述在實體中拒絕的原因 。如果服務器不希望 將該信息提供給客戶端,則可以使用狀態碼404 (未找到)代替。
類似的問題在這裏(它可能有所幫助):http://stackoverflow.com/questions/8389253/correct-http-status-code-for-resource-which-requires-authorization/ – 2012-02-10 01:54:10