背景 链接到标题 最近在刷 Twitter 的时候,发现 Twitter 会实时更新已加载页面的内容,以为是 Websocket,看了下请求发现是 Server-sent events,之前没有了解过这个,今天来学习一下。
Server-sent events 链接到标题 引用维基百科:
Server-Sent Events (SSE) is a server push technology enabling a client to receive automatic updates from a server via HTTP connection. The Server-Sent Events EventSource API is standardized as part of HTML5[1] by the W3C.
SSE 通常与 Websocket 相比较:
SSE 提供单向通信,Websocket 提供双向通信; SSE 是通过 HTTP 协议实现的,Websocket 是单独的协议; 实现上来说 SSE 比较容易,Websocket 复杂一些; 对浏览器来说,IE/Edge 不支持 SSE,其它的都是支持的。 SSE 有最大连接数限制 WS 可以传输二进制数据和文本数据,而 SSE 只有文本数据 SSE 使用场景: