当资源不可用时,要呈现的理想http响应代码是什么?

时间:2015-07-20 11:45:55

标签: http web server

让我们说我们正在建立一个忘记密码'预期用户输入其电子邮件ID的页面。如果电子邮件ID与我们数据库中的任何记录都不匹配怎么办?我们还应该回应200吗?

2 个答案:

答案 0 :(得分:0)

所以在对此进行了更多的探索后,我觉得我仍然应该回复200,因为请求和请求参数没有任何问题。它仍然是一个有效的请求。

值得注意的是,当用户尝试访问不属于它的资源时,使用401进行响应是完全合理的。

这个('密码重置'或'检查用户名可用性')不是401场景。 200似乎很好。

答案 1 :(得分:-1)

是的,它仍然会响应 200 OK

出于安全原因,最好不要在数据库中存在信息电子邮件。它最好只返回信息不正确的凭据。如果电子邮件帐户存在与否,则攻击者无法获取信息。

API的情况不同。在这种情况下,将有良好的回复 401 Unauthorized ,并带有消息" Incorect凭证"为了更好地捕获客户端应用程序。