何时http 404有用,什么时候应该考虑503?

时间:2017-04-26 13:55:47

标签: web-services http service

我有一个包含多个后端数据库的系统。有时我无法联系其中一个进行特定操作,我想告诉客户重试此操作。

我应该给404(即我无法确认因为数据库无法访问而未找到用户的请求)?

或者我应该返回503,因为我只是不确定某些内容不存在,因为我无法验证用户对数据库中的请求是否已关闭?

根据https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/503

的解释,我的偏好是503

1 个答案:

答案 0 :(得分:1)

第一部分:虽然MDN非常适合研究,但我会坚持相关的RFC进行讨论。在这种情况下,那将是RFC 7231

您的偏好确实是正确的:503表示服务暂时中断,可能会在以后解决。这很可能是由于上游服务失败造成的。比如数据库。

在这里投掷404将会有一点“我无法证明Schrödinger's Cat已经死亡或活着。所以我断言它已经死了。”