Day05【Web】Websocket、Polling 与 SSE

WebSocket

HTTP 协议中,只能由 Client 端发出请求
如果要由 Server 端主动发出请求让 Client 端接收
基本上有以下几种方法:

  • WebSocket
  • Polling
  • Long Polling
  • SSE(Server-Sent Events)
  • Comet

WebSocket 是什麽?

  • 一种建立於 TCP 协议之上的网路传输协定
  • 解决 HTTP 协议仅能由 Client 单向请求的问题,可提供双向的资料传输
  • Client 与 Server 完成一次交握,就可以建立永续性的连接
  • 在握手阶段(handshake)采用 HTTP 协议,与 HTTP 协议有良好的兼容性
  • 协议标示符是ws(如果加密,则为wss)
ws://[example.com](http://example.com/):80/some/path

WebSocket 的特点

优点

  • 资料交换效率高
  • 节省资源
  • 即时性佳

缺点

  • 部分浏览器有支援度问题
  • 服务器维护成本较高

Polling 轮询

藉由不断呼叫 function 来达成资料即时交换
分成 PollingLong Polling 两种

Polling
相隔固定的时间呼叫一次

Long Polling
在 function 返回後再次呼叫该 function
目前 Facebook、Plurk 实现动态更新的方法

Polling的特点:

  • 优点:实作简单、支援度高
  • 缺点:很耗资源、无法即时响应

SSE(Server-Sent Events)

是 HTML5 标准的 API,在 Client 连接至 Server 後,透过 Http 协定主动将资料推送至 Client,并且不会断开连接

优点:

  • 可自订资料格式
  • 可设定重新连线时间
  • 可自订事件名称

SSE 的特点:

  • 优点:节省资源、支援度高
  • 缺点:无法即时响应

参考资料


<<:  GitHub Advanced Security - 程序码扫描 (Code Scanning)

>>:  day21 : TIDB on K8S (上)

C# 入门之终止循环

在使用循环的过程中,有可能循环代码会包含很多内容,当某个条件达到时,我们可以判断不需要继续运行循环了...

再来说说物理结构(储存结构) - DAY 3

大话资料结构中物理结构的定义 资料的逻辑结构在电脑中的储存形式 循序储存结构 定义:把资料元素储存在...

Html元素-清单&表格(DAY4)

建立清单或表格的用意,可以把资料排序得更加整齐,让人一看到就能浅显易懂,若想要让资料更方便阅读或是有...

NIST通用风险模型(The NIST Generic Risk Model)

-具有关键风险因素的通用风险模型(NIST SP 800-30 R1) 关键风险因素(Key Ri...

Day 22. Unreal 再见

有鉴於我的Macbook pro开unreal engine时,实在是真的卡,所以只好先放着。   ...