Server-Sent Events(SSE)协议详解
Server-Sent Events(SSE)是一种基于 HTTP 的轻量级协议,用于实现服务器向客户端单向实时推送数据。它允许服务器主动向浏览器发送事件流(Event Stream),适用于需要实时更新但不需要客户端频繁向服务器发送数据的场景。以下是 SSE 协议的详细解析:
一、SSE 核心特性
-
单向通信
-
仅支持服务器向客户端推送数据,客户端无法通过 SSE 向服务器发送数据(需结合其他技术如
fetch
或XMLHttpRequest
)。
-
-
基于 HTTP
-
使用标准 HTTP 协议,无需复杂握手,兼容现有防火墙和代理。
-
-
文本协议
-
数据以 UTF-8 编码的纯文本格式传输,支持
text/event-stream
MIME 类型。
-
-
自动重连
-
客户端自动处理连接中断,并在断开后尝试重新连接。
-
-
事件驱动
-
支持自定义事件类型(如
message
,error
,update
等),客户端可监听不同事件。
-