什么是SSE 流式推送
SSE 流式推送Server-Sent Events服务器发送事件是一种基于 HTTP 协议、服务器主动向客户端单向推送实时数据流的 Web 技术HTML5 标准。一、一句话理解客户端浏览器用EventSource发起一个长连接 HTTP 请求服务器返回text/event-stream类型的响应连接一直保持打开服务器可以随时、持续地往这条连接里“推”数据客户端像监听事件一样接收这些流式数据。二、核心特点为什么叫“流式推送”单向推送只能服务器 → 客户端发数据客户端不能通过 SSE 回传要发数据需另走普通 HTTP 请求。基于 HTTP 长连接复用标准 HTTP/HTTPS不用额外协议/端口兼容现有代理、负载均衡。流式传输服务器持续、分段发送数据类似“流”客户端边收边处理不用等全部数据。自动重连连接断了浏览器会自动重试默认约 3 秒。事件驱动数据按“事件”格式推送客户端监听message或自定义事件。文本为主数据是 UTF-8 文本JSON 很常用不适合原生二进制需 Base64 编码。三、工作流程极简客户端new EventSource(/api/sse)发起 GET 请求请求头表明要text/event-stream。服务器返回响应头Content-Type: text/event-stream Cache-Control: no-cache Connection: keep-alive连接保持打开不立即结束响应。服务器推送数据按 SSE 格式data: 第一条消息\n\n data: {msg:第二条,time:14:00}\n\n event: custom\ndata: 自定义事件内容\n\n客户端监听onmessage或自定义事件实时接收并处理每一段数据。四、典型应用场景最适合“只推不收”LLM/AI 对话逐字流式输出ChatGPT 式打字效果实时通知、消息推送、系统告警股票/行情/监控数据实时刷新日志/进度实时展示新闻/公告实时更新五、和 WebSocket 的区别一句话SSE单向推送、HTTP 原生、轻量、自动重连、适合“服务器主动发”。WebSocket全双工双向、独立协议、更复杂、适合聊天室/实时协作等双向交互。六、一句话总结SSE 就是用 HTTP 长连接做的、服务器单向、实时、流式推送简单、轻量、易部署适合只需要服务器主动发数据的场景。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2458641.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!