rest - 如何向服务器指示 REST HTTP 调用是异步的?

标签 rest http http-status-codes

只需阅读有关 HTTP 响应代码 202 的信息,其中 POST 不返回正文,而是返回一个位置以轮询(获得 200s)直到完成(获得 201 或 303)。

在 C# 中,我们通过为方法名称提供一个异步后缀的约定来传达这一点(它返回一个任务或接受回调引用)。

我如何在 HTTP 中进行通信?我是否发明了自己的临时方法,或者是否有一些请求 header 或其他标准方法来指示这一点?

有没有一种标准的方法来告诉客户端轮询的频率? (据我了解 HTTP,没有办法在不进行轮询的情况下进行回调,对吧?)

我读过这个related question ,它没有说明客户端如何区分同步请求和异步请求,也没有说明如何传达轮询率。同上related question .

最佳答案

How do I communicate this in HTTP? Do I invent my own ad hoc method, or is there some request header or other standard means for for indicating this?

我相信 202 accepted 主要用于最终一致性。 Afaik 没有标准的方法来描述投票链接,所以你必须使用你的临时解决方案。通过 HTTP,您只能进行轮询,但如果您不希望客户端进行轮询,则可以将 websockets 与 HTTP 结合使用。 (注意:websockets 不是 REST)

您可以使用已经存在的 vocab to describe a poll link与链接数据。我还没有找到包含这个术语的词汇表,所以恐怕你必须在自己的词汇表中定义它,或者可能使用自定义链接关系...:S

关于rest - 如何向服务器指示 REST HTTP 调用是异步的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26102445/

相关文章:

ruby-on-rails - Rails 验证错误消息 : Add response code to default validators

java - Jersey Bean 验证将 application/x-www-form-urlencoded 解释为 bean

api - 如何设计仅进行数据转换的 REST 调用?

rest - JBOSS Fuse 中基于 Spring Boot 的 RESTful 服务

http - 确定在 http.Handler 中将 HTTP 请求发送到的 IP

java - 为 HTTPSURLConnection 设置 TLS 协议(protocol)

C# - 通过 HTTP 发送文件

iphone - HTTP 状态代码 = 0 (iPhone)( objective-c )

java - 将泛型类型从一个类传递到另一个类?

c# - 如何从异常中获取 IIS 子状态代码?