代码之家  ›  专栏  ›  技术社区  ›  Chris Dutrow

“请稍等”的HTTP响应代码

  •  14
  • Chris Dutrow  · 技术社区  · 14 年前

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

    现在,我正在使用:

    409 Conflict
    

    但这感觉不太对劲。。。

    3 回复  |  直到 14 年前
        1
  •  28
  •   Chris Broski    13 年前

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

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

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

        2
  •  13
  •   Community Mohan Dere    4 年前

    您可以使用HTTP RFC中建议的503+“重试之后”标头- https://www.rfc-editor.org/rfc/rfc2616#section-10.5.4 。

        3
  •  10
  •   Community Mohan Dere    4 年前

    假设你正试图实施利率限制计划(否则, Alexei's suggestion 可能更适用)。

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

    响应陈述应包括解释 条件,并且可能包括一个Retry After标头,指示持续时间 在提出新请求之前等待。

    • 420 Enhance Your Calm ,非标准,被推特使用,包括在这里是因为它的名字让我很开心。

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

    推荐文章