2014-10-27 160 views
3

時已經存在的客戶端發送以下到POST /account/registerHTTP狀態代碼註冊新帳戶

{ 
    "username": "user123", 
    "password": "pa55w0rd" 
} 

服務器嘗試建立新的帳戶,但發現該用戶名已被使用。

最合適的HTTP狀態碼響應應該是什麼?

我在想409 Conflict但是,這意味着客戶端然後意識到用戶名存在,這可能是一個安全問題?或者它僅僅是一個基於網站類型的可見性情況,取決於情況?

+2

由於您使用的是用戶名,所以沒有其他解決方法,幸運的是,用戶名不會透露很多信息,比如電子郵件。關於HTTP狀態代碼,我認爲發送帶有錯誤消息/代碼的200就足夠了。爲什麼?因爲你收到了請求,瞭解了客戶說了什麼,處理了它(驗證了用戶名已經存在)並且可以回答(「嘿!那個用戶名已被佔用!」)。 – 2014-10-27 13:50:03

回答