SSE、WebSocket、HTTP

一、先大白话讲懂:SSE、WebSocket、HTTP

1. SSE (Server-Sent Events 服务端推送)

  • 底层协议 :依然是 HTTP/HTTPS
  • 单向:只能 服务端 → 客户端 推数据
  • 场景:大模型打字机流式输出、消息通知、实时日志、大屏实时数据
  • 特点:
    1. 一次 HTTP 连接建立,长连接,服务端持续发片段数据
    2. 浏览器原生支持,不用额外协议
  1. 自动断线重连
  2. 只能服务端发,客户端不能实时发消息

2. WebSocket

  • 底层协议独立 WS / WSS 协议(不是HTTP)
  • 双向:客户端 ↔ 服务端 双向实时通信
  • 场景:聊天室、实时对战、协同编辑、高频双向互动AI对话
  • 特点:
    1. 握手阶段借用HTTP,升级后完全脱离HTTP
    2. 真正全双工,两边随时发消息
    3. 开销极小,适合高频交互
    4. 需要自己处理重连、心跳、断连

3. 普通 HTTP

  • 一问一答:客户端发请求 → 服务端一次性返回结果 → 连接断开
  • 短连接,无状态
  • 大模型普通问答、接口CRUD全是这个

二、核心区别(面试必背)

对比维度 SSE WebSocket 普通HTTP
协议 基于HTTP 独立WS协议 HTTP
通信方向 单向(服务端推) 全双工双向 单向一问一答
连接类型 长连接 长连接 短连接
适用场景 AI流式输出、公告、日志 聊天、实时互动、协同 常规业务接口
浏览器支持 原生支持 原生支持 全部支持
开发成本 偏高(心跳、断连) 最低
网络穿透 友好,走80/443 部分防火墙拦截WS端口 最友好

关键一句话区分

  • 只需要服务端源源不断吐内容(AI打字机) → 用 SSE
  • 需要两边实时互发消息(聊天、互动) → 用 WebSocket
  • 普通查改增删、一次性返回 → 用 HTTP

三、AI 场景对应(你面试要用)

  1. 大模型流式回答、RAG流式输出
    ✅ 行业主流:SSE
    理由:
  • 只需要后端一段一段发文字,前端展示打字机
  • 开发简单、基于HTTP、运维友好、不用维护心跳
  1. AI多轮实时聊天、带实时打断、实时编辑
    ✅ 才会用:WebSocket

四、企业前后端交互 主流选型(工作真实情况)

1. 90% 常规业务接口

HTTP + JSON

  • 所有CRUD、登录、订单、用户、权限、后台管理
  • 同步接口,一次性返回

2. 需要服务端实时推送 / AI流式

SSE(首选)

  • SpringBoot 原生支持、SpringAI / LangChain4j 流式默认适配SSE

3. 强双向实时场景

WebSocket

  • IM聊天、客服系统、在线协作、实时大屏操控

4. 高并发消息队列异步

MQ(RabbitMQ/RocketMQ/Kafka)

  • 解耦、削峰、异步任务,不属于前端交互

五、面试标准背诵版(直接背)

  1. SSE

    基于HTTP的服务端单向长推送技术,长连接,服务端可持续向客户端推送数据流,适合大模型流式输出、系统通知等单向实时场景,开发简单、兼容性好。

  2. WebSocket

    是独立的全双工通信协议,握手后脱离HTTP,客户端与服务端可互相主动发消息,适合聊天、实时协同、高频双向交互场景。

  3. 核心区别

    SSE 基于HTTP、单向推送、轻量化;WebSocket 是独立协议、双向全双工、适合强实时互动。

  4. 日常选型

    常规业务使用HTTP ;AI流式问答采用SSE ;双向实时聊天采用WebSocket


六、补充:SpringBoot 对应技术

  • SSE:SseEmitter
  • WebSocket:@ServerEndpoint / Spring WebSocket
  • AI流式:SpringAI、LangChain4j 都封装好了 SSE 流式返回,直接开箱即用。
相关推荐
NeilYuen17 小时前
实现TCP发送HTTP请求
网络协议·tcp/ip·http
ARoger_miu5720 小时前
opsf笔记
网络·网络协议
caimouse20 小时前
tcpip.sys 网络层 (IP) 详细分析
网络·网络协议·tcp/ip
agent89721 小时前
实战升级|SpringBoot WebSocket实现多轮对话AI流式问答(上下文记忆+自动重连+会话隔离)
人工智能·spring boot·websocket
wuhuhuan21 小时前
Day17:HTTP 接口测试与链式调用 — sendRequest 从入门到实战
网络·网络协议·http
执笔画流年呀21 小时前
网络原理(http)(https)
网络·http·https
m0_5474866621 小时前
《网络协议安全》全套PPT课件(太原理工大学)
网络协议·安全·网络安全
caimouse21 小时前
tcpip.sys 传输层 (TCP) 详细分析
网络·网络协议·tcp/ip
SendTomo1 天前
send.wang私传网:P2P直连传大文件首选工具
javascript·网络·网络协议·webrtc·p2p
llllll1521 天前
HTTP协议全解:从报文结构到HTTPS加密原理
网络协议·http·https