“的HTTP响应代码”;请稍等一下;

“的HTTP响应代码”;请稍等一下;,http,rest,httpresponse,Http,Rest,Httpresponse,如果服务器希望客户端等待一段时间,然后重试请求,那么服务器发送的最佳HTTP响应代码是什么 现在,我正在使用: 409 Conflict 但这感觉不太正确…您可以使用HTTP RFC-中推荐的503+“重试后”标题。假设您正在尝试实施速率限制方案,则会想到两个选项(否则,可能更适用) 429 429状态代码表示用户在给定的时间内发送了过多的请求(“速率限制”) 响应陈述应包括详细说明 条件,并可能包括指示多长时间的Retry After标头 在提出新请求之前等待 420,非标准,被推特使用

如果服务器希望客户端等待一段时间,然后重试请求,那么服务器发送的最佳HTTP响应代码是什么

现在,我正在使用:

409 Conflict

但这感觉不太正确…

您可以使用HTTP RFC-中推荐的503+“重试后”标题。

假设您正在尝试实施速率限制方案,则会想到两个选项(否则,可能更适用)

  • 429

    429状态代码表示用户在给定的时间内发送了过多的请求(“速率限制”)

    响应陈述应包括详细说明 条件,并可能包括指示多长时间的Retry After标头 在提出新请求之前等待

  • 420,非标准,被推特使用,并包括在这里,因为它的名字逗乐了我

    当您受到费率限制时,由版本1搜索和趋势API返回


根据您希望他们等待的原因,状态代码会有所不同。以4开头的代码表示客户端错误。如果请求正确完成,我不会使用400代码。以5开头的状态表示服务器错误。如果因为您这边的问题而让HTTP请求者等待,我会选择503

我在编写web服务以检查文件是否已完成处理时遇到了这个问题。如果完成了。我返回200,如果不是,我不想给出错误代码。使用以2开头的代码(success)更合适。在这种情况下,最好的标准代码可能是“202 Accepted”,描述为:

请求已被接受处理,但处理尚未完成


这是我不得不使用的一个,因为webapp不允许我添加它无法识别的错误代码(另一个答案中的“429”和“420”代码)。这实际上是在仔细阅读规范描述后我相信的最佳答案。