SSE 是什么?
SSE 全称是 Server Sent Event,翻译过来的意思就是 服务器派发事件。
一个网页获取新的数据通常需要发送一个请求到服务器,也就是向服务器请求的页面。
使用 server-sent 事件,服务器可以在任何时刻向我们的 Web 页面推送数据和信息。
这些被推送进来的信息可以在这个页面上作为 Events
[0]
+ data 的形式来处理。
白话篇
SSE 的本质其实就是一个 HTTP 的长连接,只不过它给客户端发送的不是一次性的数据包,而是一个 stream 流,格式为 text/event-stream。
所以客户端不会关闭连接,会一直等着服务器发过来的新的数据流
SSE 与其他交互方式的区别
SSE 与 WS 有什么区别?
方式 | 协议 | 交互通道 | 内容编码 | 重连 | 事件类型 | 总结 |
---|---|---|---|---|---|---|
SSE | HTTP | 服务端单向推送 | 默认文本 | 默认支持断线重连 | 支持自定义消息类型 | 轻量级 |
WebSocket | WS(基于 TCP 传输层的应用层协议,RFC6455 [1] 对于它的定义标准) |
双向推送 | 默认二进制 | 手动实现 | NO | 扩展性、功能性强大 |
TCP/IP 五层模型
SSE 兼容性
API |
---|