SSE 全称为 Server-sent Events。即服务端推送事件。
在实际业务中,我们可以利用 SSE 向客户端不间断的推送实时信息。
1.优点
SSE 具有以下特点:
- 单向通信。只能由服务端向客户端推动消息。而
websocket属于全双工通信; - 依赖HTTP协议。而
websocket依赖的是ws或者wss协议; - 传输数据只能是文本数据。而
websocket可以传输二进制和文本数据; - 持久化连接。与
websocket类似,Connection的值为keep-alive;(且SSE的连接,客户端会不断发送请求,除非显示调用source.close()实例方法关闭连接。) - 特有的重连机制。在网络不好或者连接出错时,
SSE会自动retry连接。
2.缺点
由于 SSE 依赖 HTTP 协议的keep-alive长连接,
而 keep-alive 长连接在浏览器客户端的并发量是有上限的。一般上限为 6。
因此,在业务开发中,如果同时存在超上限的连接数,有可能会出现网络阻塞。
3.兼容性
