2014-09-13 80 views
0

我是纯粹主义者,因此当我的应用程序在保存数据时遇到问题时,我喜欢将正确的http状态码返回给我的用户(其他服务)。202接受的相反是什么?

这很容易,当你可以验证请求,或者你知道你的服务器死亡。但是,当它不是时呢?

当一切都很好,我可以保存数据,我回到202接受。 当我无法保存数据时应该返回什么,但数据确实正确,我的服务器工作正常,这是别人的错?

具体执行今天2个相关查询一个数据库集群的时候没有粘性会话我发现了一个保存问题。

我不想骗我的用户。我想说的是“不,我无法保存数据”,但我不想责怪他们(4xx),这绝对不是内部服务器错误。

是否有一个“我不能听从你的命令”或“出事了,再试一次”的反应?

或者我只是认真考虑500,应该是我使用的那个?

回答

1

这绝对是一个500错误,请记住,每次您在引擎盖下使用的子系统或服务是从客户端查看的点你的服务器的一部分。

您可以在响应实体中更详细地解释发生了什么。

rfc2616

10.5 Server Error 5xx 

    Response status codes beginning with the digit "5" indicate cases in 
    which the server is aware that it has erred or is incapable of 
    performing the request. 
+0

我的问题是,“服务器”(=服务)是不是不能执行它只是遇到了hickup的要求,你应该鼓励再试一次。大多数客户倾向于把500人视为服务的死亡,事实并非如此。 – meza 2014-09-13 19:09:13

+0

503表示'暂时'不可用。 – folkol 2014-09-13 19:09:52

+0

但这并非如此。它可用,你应该立即重试。 我倾向于接受500/503,但很高兴找到符合目的的东西_exactly_。 – meza 2014-09-13 19:32:11