一. 概念和作用
其定义详见: HTML Standard
SSE(server-sent events) 与 WebSocket 作用相似,都是建立浏览器与服务器之间的通信渠道,然后服务器向浏览器推送信息。
二. 与 WebSocket 的区别
其与 WebSocket 的区别如下:
WebSocket | EventSource |
---|---|
双向:客户端和服务端都能交换消息 | 单向:仅服务端能发送消息 |
二进制和文本数据 | 仅文本数据 |
WebSocket 协议 | 常规 HTTP 协议 |
三. 优点
我们为什么要使用它?主要原因:简单。
在很多应用中,WebSocket 有点大材小用。比方说我们需要从服务器接收一个数据流,可能是聊天消息或者市场价格等,这正是 EventSource 所擅长的。它还支持自动重新连接,而在 WebSocket 中这个功能需要我们手动实现。此外,它是一个普通的旧的 HTTP,不是一个新协议。
参考
Server-sent events - Web APIs | MDN