🌐 什么是 SSE 协议(Server-Sent Events)
SSE(Server-Sent Events) 是一种基于 HTTP 的协议,允许服务器持续不断地将实时数据推送给客户端。它是 HTML5 标准的一部分,适用于服务端 单向推送数据 的场景。
🔧 核心特点
特性 | 描述 |
---|---|
📡 通信方向 | 单向(服务器 ➡ 客户端) |
📑 协议 | 基于 HTTP(长连接) |
🌐 浏览器支持 | 大多数现代浏览器支持(通过 EventSource API) |
♻️ 自动重连 | 内置自动断线重连机制 |
📄 数据格式 | 文本流(MIME 类型为 text/event-stream ) |
⚖️ 与 WebSocket 的对比
对比项 | SSE | WebSocket |
---|---|---|
连接方向 | 单向(服务端 ➡ 客户端) | 双向(客户端 ↔ 服务端) |
协议层级 | HTTP 协议(标准端口 80/443) | 独立的 WebSocket 协议(ws/wss) |
编程复杂度 | 简单(浏览器原生支持) | 较复杂(需手动处理状态、重连等) |
自动重连 | 支持内建断线重连 | 不支持,需要手动实现 |
应用场景 | 实时新闻、通知推送、实时行情 | 聊天系统、协作编辑、在线游戏等 |
暂无标签