实时应用技术小结:Ajax Polling, Ajax Long Polling, Websockets, Server-Sent Events (SSE) , Comet

翻译自 Stack Overflow 的一个回答,原文链接 (部分专业词汇翻译不是太准确,还望指正)。

正文:

这里的 Client(客户端)是浏览器,Server(服务器)是承载网站的 Web 服务器。

一、Regular HTTP:(常规的 HTTP)
  1. 客户端向服务器请求网页;

  2. 服务器计算响应;

  3. 服务器向客户端发送响应。

在这里插入图片描述

二、Ajax Polling:(Ajax 轮询)

(Ajax:异步 JavaScript 和 XML,是一种创建交互、快速动态网页应用的网页开发技术。)

  1. 客户端向服务器请求网页(同 Regular HTTP);

  2. 客户端接收到请求的网页,并在页面上执行 JavaScript,以固定的时间间隔(比如 0.5s)向服务器请求一个文件;

  3. 服务器计算每个响应并将其送回,就像常规的 HTTP 业务一样。

在这里插入图片描述

三、Ajax Long Polling:(Ajax 长轮询)
  1. 客户端向服务器请求网页(同 Regular HTTP);

  2. 客户端接收请求的网页,并在请求服务器文件的页面上执行 JavaScript;

  3. 服务器不会立即响应所请求的信息,而是会等待,直到有可用的新信息;

  4. 当有新的信息可用时,服务器响应新信息;

  5. 客户端接收到新的信息并立即向服务器发送另一个请求,重新启动流程。

在这里插入图片描述

四、HTML5 Server Sent Events (SSE) / EventSource:()
  1. 客户端向服务器请求网页(同 Regular HTTP);

  2. 客户端接收请求的网页,并在页面上执行 JavaScript,从而建立一个服务器连接;

  3. 当有新信息可用时,服务器向客户端发送一个事件。

在这里插入图片描述

五、HTML5 Websockets:
  1. 客户端向服务器请求网页(同 Regular HTTP);

  2. 客户端接收请求的网页,并在页面上执行 JavaScript,从而建立一个服务器连接;

  3. 服务器和客户端可以在新数据可用时互相发送消息。

在这里插入图片描述

六、Comet:

Comet 是 HTML5 之前的技术集合,使用流和长轮询实现实时应用。

原文链接:What are Long-Polling, Websockets, Server-Sent Events (SSE) and Comet?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值