Skip to content

SSE 全称为 Server-sent Events。即服务端推送事件

在实际业务中,我们可以利用 SSE 向客户端不间断的推送实时信息。

1.优点

SSE 具有以下特点:

  1. 单向通信。只能由服务端向客户端推动消息。而 websocket 属于全双工通信;
  2. 依赖HTTP协议。而 websocket 依赖的是 ws 或者 wss 协议;
  3. 传输数据只能是文本数据。而 websocket 可以传输二进制和文本数据;
  4. 持久化连接。与 websocket 类似,Connection 的值为 keep-alive;(SSE 的连接,客户端会不断发送请求,除非显示调用 source.close() 实例方法关闭连接。)
  5. 特有的重连机制。在网络不好或者连接出错时,SSE 会自动 retry 连接。

2.缺点

由于 SSE 依赖 HTTP 协议的keep-alive长连接,

keep-alive 长连接在浏览器客户端的并发量是有上限的。一般上限为 6

因此,在业务开发中,如果同时存在超上限的连接数,有可能会出现网络阻塞。

3.兼容性

caniuse.com

3.参考文档