3
时已经存在的客户端发送以下到POST /account/register
HTTP状态代码注册新帐户
{
"username": "user123",
"password": "pa55w0rd"
}
服务器尝试建立新的帐户,但发现该用户名已被使用。
最合适的HTTP状态码响应应该是什么?
我在想409 Conflict
但是,这意味着客户端然后意识到用户名存在,这可能是一个安全问题?或者它仅仅是一个基于网站类型的可见性情况,取决于情况?
由于您使用的是用户名,所以没有其他解决方法,幸运的是,用户名不会透露很多信息,比如电子邮件。关于HTTP状态代码,我认为发送带有错误消息/代码的200就足够了。为什么?因为你收到了请求,了解了客户说了什么,处理了它(验证了用户名已经存在)并且可以回答(“嘿!那个用户名已被占用!”)。 – 2014-10-27 13:50:03