SSE 为何在ai流行

6 阅读1分钟

SSE 是基于HTTP协议的,以event-stream 流式格式进行单向传递

现如今在AI领域是非常常见的 从前端的角度: 是通过EventSource 来进行构建 接口实例, 通过onMessage 监听, 通过HTTP2.0 规避并发限制造成的传输失败, http1.1版本是存在浏览器的限制

特点

  1. 传输格式纯文本,更适配简单文本传输场景
  2. 自动重连,无需手动管理

后台传输格式设置为text/event-stream


Content-Type: text/event-stream  // 必须,指定为事件流类型
Cache-Control: no-cache          // 必须,禁止缓存,确保数据实时性
Connection: keep-alive           // 必须,保持长连接


前端直接进行监听

eventSource.onmessage = (event) => { const data = JSON.parse(event.data); console.log('Received data:', data); };

断线重连 那么如果发现请求报错,那么可以配合后端,传输Last-Event-ID 来进行续传

技术选项 websocket 基于ws 协议,双向传输,文本以二进制,文本为主,更适配双向频繁传输信息,那么对于流式输出对话这种场景,就不适配,过重