[英]HTTP status code 200 vs 202
我有一个Python
+ requests
脚本。
脚本应该执行的步骤 :
约束 :
只能下载已批准的文件
我的代码 :
requests.post(url_to_create, files={"file": open(path_to_file)})
requests.post(url_to_approve, data={'id': file_id})
requests.get(url_to_download, data={'id': file_id})
问题 :
这段代码几乎完美,但有时我没有文件。 我发现第一个和第三个请求返回200
状态代码,而第二个请求返回202
。 据我所知(告诉我,如果我错了)状态202: Accepted
意味着服务器接受请求并返回状态代码而没有实际请求完成
问题 :
这是否意味着即使请求批准尚未完成也可以发送下载请求,如果是,那么在发送下载请求之前我怎么能等到批准请求完成?
这取决于您的服务器实现,您的服务器决定如何处理202
。
202接受
该请求已被接受处理,但处理尚未完成。 该请求最终可能会或可能不会被执行,因为在实际处理时可能不允许该请求。 没有用于从诸如此类的异步操作重新发送状态代码的工具。
202回复是故意不承诺的。 其目的是允许服务器接受对某些其他进程的请求(可能是每天只运行一次的面向批处理的进程),而不要求用户代理与服务器的连接持续到进程完成为止。 返回此响应的实体应该包括请求的当前状态的指示,以及指向状态监视器的指针或用户可以期望满足请求的某些估计。
如果响应主体为空,则检查应具有其他信息的响应标头是有意义的。
参考 - https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.