【问题标题】:What is the difference between asynchronous and synchronous HTTP request?异步和同步 HTTP 请求有什么区别?
【发布时间】:2013-05-23 13:35:46
【问题描述】:

异步和同步 HTTP请求有什么区别?

【问题讨论】:

标签: webserver


【解决方案1】:

同步: 同步请求会阻塞客户端,直到操作完成。在这种情况下,浏览器的javascript引擎被阻止。

异步 异步请求不会阻塞客户端,即浏览器是响应式的。此时,用户还可以执行其他操作。在这种情况下,浏览器的javascript引擎不会被阻塞。

【讨论】:

  • 同步/异步通信与应用程序是否等待资源无关。同步通信是指通信看起来像按特定顺序乒乓球一个请求和一个响应。异步通信是指可能有多个请求并且响应可能以随机顺序返回。
  • 我同意。阻塞调用只是整个场景中的一个因素,它是一个客户端问题。等式的另一端是服务器端,它必须重新架构以适应这种模式。
  • 这个答案有 > 50 个赞,并且表达了一些合理的东西。但是,@Logman 的评论 - 与答案一样合理 - 声称答案显然是错误的。这对读者来说是高度误导的。我已将问题标记为需要主持人干预,但被拒绝了。
【解决方案2】:

Sachin Gandhwani 的回答用简单的话很好地解释了。如果您仍然不相信异步 HTTP 请求和同步 HTTP 请求的区别,可以阅读这篇文章 - https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Synchronous_and_Asynchronous_Requests

【讨论】:

  • 链接不是永久性的,因此请尝试发布查询的必要解决方案。
  • @RatanUdayKumar 但有时我们可以使用回溯时间,即使他们已经死了。
【解决方案3】:

查看Determining synchronous vs. asynchronous in web applications 以了解之前的讨论。简而言之:

异步 ​​API 不会阻塞。每个同步调用都会等待并阻止您的结果 > 返回。这只是一个休眠线程和浪费的计算。

【讨论】:

    【解决方案4】:

    异步 ​​API 不会阻塞。每个同步调用都会等待并阻止您的结果返回。这只是一个休眠线程和浪费的计算。

    如果您需要发生某些事情,请发送异步请求并在请求返回时进行进一步计算。这意味着您的线程处于空闲状态,可以继续进行其他工作。

    异步请求是扩展到数千个并发用户的方式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-17
      • 1970-01-01
      • 2011-01-09
      • 1970-01-01
      • 1970-01-01
      • 2020-05-07
      • 2013-04-26
      相关资源
      最近更新 更多