后端岗位面试题更新 2026-08-05

请解释 SSE 的基本概念,并阐述在 AI 应用接口中,相比 WebSocket,为什么更倾向于选择 SSE 协议?

后端开发技术原理方案权衡SSEWebSocket

考察说明

理解 SSE 协议特点及其在 AI 应用中的适用性,并掌握与 WebSocket 的对比。

回答思路

  1. 【回答框架 1】SSE(Server-Sent Events)是一种基于 HTTP 的服务器推送技术,允许服务器通过长连接向客户端实时发送事件流。客户端使用 EventSource API 接收,连接是单向的,只能由服务端向客户端推送。
  2. 【回答框架 2】AI 应用(如 ChatGLM、GPT 等)通常需要将模型生成的文本流式传输给用户,实现打字机效果。SSE 正好满足这种单向、持续、低延迟的推送需求,且实现简单。
  3. 【回答框架 3】WebSocket 是全双工协议,支持双向通信,但协议实现更复杂,需要额外处理握手、帧协议、心跳等。在 AI 生成场景中,客户端主要接收数据,双向通信并非必须,因此 SSE 更轻量且更易维护。
  4. 【回答框架 4】SSE 直接基于 HTTP,天然支持断线重连和事件 ID 追踪,而 WebSocket 需要自己实现。此外,SSE 能利用现有 HTTP 基础设施(如代理、认证),兼容性更好。
  5. 【回答框架 5】高并发环境下,WebSocket 长连接占用大量服务器资源,而 SSE 依赖 HTTP 连接,更容易水平扩展。综合实现成本、资源和可靠性,SSE 更适合 AI 流式输出场景。
  6. 【关键点 1】SSE 是单向服务端推送协议,基于 HTTP,使用 EventSource 接收。
  7. 【关键点 2】AI 应用需要流式输出,SSE 满足需求且实现简单。
  8. 【关键点 3】WebSocket 全双工但复杂,SSE 更轻量。
  9. 【关键点 4】SSE 自动重连、支持事件 ID。
  10. 【关键点 5】SSE 便于扩展和兼容现有 HTTP 设施。
  11. 【易错点 1】不能简单认为 SSE 比 WebSocket 快,速度取决于网络和场景。
  12. 【易错点 2】SSE 是单向的,若客户端需要发送大量数据则不适用。
  13. 【易错点 3】SSE 连接数受浏览器限制,需考虑并发连接上限。