SSE(Server-Sent Events) 是一种基于 HTTP 的协议,允许服务器持续不断地将实时数据推送给客户端。它是 HTML5 标准的一部分,适用于服务端 单向推送数据 的场景。


🔧 核心特点

特性描述
📡 通信方向单向(服务器 ➡ 客户端)
📑 协议基于 HTTP(长连接)
🌐 浏览器支持大多数现代浏览器支持(通过 EventSource API)
♻️ 自动重连内置自动断线重连机制
📄 数据格式文本流(MIME 类型为 text/event-stream

⚖️ 与 WebSocket 的对比

对比项SSEWebSocket
连接方向单向(服务端 ➡ 客户端)双向(客户端 ↔ 服务端)
协议层级HTTP 协议(标准端口 80/443)独立的 WebSocket 协议(ws/wss)
编程复杂度简单(浏览器原生支持)较复杂(需手动处理状态、重连等)
自动重连支持内建断线重连不支持,需要手动实现
应用场景实时新闻、通知推送、实时行情聊天系统、协作编辑、在线游戏等