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

kes*_*kes 9 rest http response httpresponse http-status-codes

什么是最合适的HTTP状态代码,给客户端意味着"您的请求很好,但它仍在进行中;请在同一位置稍后查看."

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

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

Jef*_*ler 19

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

请参阅W3C网站上的文档.

10.2.3 202接受

该请求已被接受处理,但处理尚未完成.该请求最终可能会或可能不会被执行,因为在实际处理时可能不允许该请求.没有用于从诸如此类的异步操作重新发送状态代码的工具.

202回复是故意不承诺的.其目的是允许服务器接受对某些其他进程的请求(可能是每天只运行一次的面向批处理的进程),而不要求用户代理与服务器的连接一直持续到进程完成为止.返回此响应的实体应该包括请求的当前状态的指示,以及指向状态监视器的指针或用户可以期望满足请求的某些估计.