最适合“正在进行的作业”的HTTP状态代码

时间:2013-02-12 03:35:48

标签: http rest response httpresponse http-status-codes

为客户提供的最合适的HTTP状态代码是什么意思是“您的请求很好,但仍在进行中;请稍后在完全相同的位置查看。”

例如,假设客户端提交初始请求以启动繁重的查询,并且服务器立即返回客户端可以定期轮询结果的URL。如果客户端在作业完成之前调用此URL,那么返回的最合适的HTTP状态代码是什么?

202接受将是我的第一次冲动。这是最好的一个,还是在REST接口中有更好的用于此目的?

1 个答案:

答案 0 :(得分:20)

对我而言, 202 Accepted 将是最好的方式。

请参阅W3C网站上的documentation

  

10.2.3 202接受

     

已接受请求进行处理,但处理已完成   尚未完成。该请求最终可能会或可能不会被采取行动   因为它可能在处理实际发生时被禁止。   没有从异步中重新发送状态代码的工具   这样的操作。

     

202回复是故意不承诺的。其目的是为了   允许服务器接受某个其他进程的请求(也许是   没有的批处理过程,每天只运行一次   要求用户代理与服务器的连接一直持续到   这个过程完成了。该实体返回此响应   应该包括请求的当前状态和指示   指向状态监视器的指针或用户何时估计   可以期待请求得到满足。