2014-10-27 58 views
3

时已经存在的客户端发送以下到POST /account/registerHTTP状态代码注册新帐户

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

服务器尝试建立新的帐户,但发现该用户名已被使用。

最合适的HTTP状态码响应应该是什么?

我在想409 Conflict但是,这意味着客户端然后意识到用户名存在,这可能是一个安全问题?或者它仅仅是一个基于网站类型的可见性情况,取决于情况?

+2

由于您使用的是用户名,所以没有其他解决方法,幸运的是,用户名不会透露很多信息,比如电子邮件。关于HTTP状态代码,我认为发送带有错误消息/代码的200就足够了。为什么?因为你收到了请求,了解了客户说了什么,处理了它(验证了用户名已经存在)并且可以回答(“嘿!那个用户名已被占用!”)。 – 2014-10-27 13:50:03

回答