休息Web服务 - 同步或异步

Aji*_*jit 26 java rest synchronization asynchronous web-services

我有一个疑问,REST Web服务的默认行为是什么 - 同步或异步.如果是同步则可以创建异步.

Ult*_*nct 51

"同步"或"异步" 是请求资源的客户端行为.它与REST Web服务,其结构或支持服务器无关.

同步行为:

  • 客户端构造HTTP结构,通过套接字连接发送.
  • 等待响应HTTP.

异步行为:

  • 客户端构造HTTP结构,发送请求,然后继续.
  • 还有另一个线程在套接字上等待响应.一旦响应到达,就会通知原始发件人(通常使用类似回调的结构).

  • 你可以争辩说,返回202的HTTP服务提供异步服务,而返回200/201的服务是同步的. (8认同)
  • @DarrelMiller好点。服务返回202仅仅触发/产生另一个进程,并立即返回(引用RFC)*某种指向状态监视器的指针*。这并不意味着服务器具有与客户端的持久连接,并在处理完成时通知服务器。客户必须轮询“指针”;或者可以以异步方式在其上构建库。(为确保确定,我再次阅读了RFC,如果我写错了,请更正)。此外,它仍然不会使REST服务的“默认”行为变为异步 (2认同)

tec*_*oma 5

@Thrustmaster 解释得很好。我只是想补充一点,让它听起来更简单。

REST Web 服务只不过是一个 HTTP 调用。您向 URL 发出 HTTP 请求并获得 HTTP 响应。如何处理请求和响应取决于调用者。