美文网首页
基于HTTP的实时推送数据技术 SSE

基于HTTP的实时推送数据技术 SSE

作者: irenb | 来源:发表于2024-11-27 19:26 被阅读0次

背景

在使用 AI大模型 产品时,发现输入 prompt 后,页面是逐步给出回复的,起初以为使用了 WebSckets 持久化连接协议,查看其网络请求,发现这个接口的通信方式并非传统的 http 接口或者 WebSockets,而是基于 EventStream 的事件流,像打字机一样,一段一段的返回答案。

什么是SSE

  • Server-Sent Events 服务器发送事件,简称 SSE,是一种服务端实时主动向浏览器推送消息的技术。

SSE 是 HTML5 中一个与通信相关的 API,主要由两部分组成:服务端与浏览器端的通信协议(HTTP 协议)及浏览器端可供 JavaScript 使用的 EventSource 对象。

  • 与 WebSockets 的区别:
Server-Sent Events API WebSockets API
基于 HTTP 协议 基于 TCP 协议
只能服务端单向发送消息 可以同时发送和接收消息
轻量级,使用简单 相对复杂
内置断线重连和消息追踪的功能 不在协议范围内,需手动实现
文本或使用 Base64 编码和 gzip 压缩的二进制消息 类型广泛
支持自定义事件类型 不支持自定义事件类型
连接数 HTTP/1.1 6 个,HTTP/2 可协商(默认 100) 连接数无限制
  • SSE 主要用于实现:服务端主动向浏览器实时推送消息。比如,新闻更新、股票报价、实时监控等场景。

技术实现

相关文章

  • 2016 08 21 socket.io技术

    消息推送 Server-Sent Events(SSE) 允许服务端推送数据到客户端:性能较好、实时性较强,但存在...

  • socket.io技术

    消息推送 Server-Sent Events(SSE) 允许服务端推送数据到客户端:性能较好、实时性较强,但存在...

  • 实时交互

    socket.io Server-Sent Events(SSE) 允许服务端推送数据到客户端:性能较好、实时性较...

  • Server-Sent Events的Java简单实现

    Server-Sent Events (SSE)是一种基于HTTP协议的单向通讯技术,只能服务器向客户端发送消息,...

  • 消息推送Web端组件

    这里使用基于HTTP长链接推送技术 --Comet 实现方式 基于 AJAX 的长轮询(long-polli...

  • 基于HTTP协议的几种实时数据获取技术

    HTTP协议 HTTP协议大家都很熟悉了,开始本文之前,首先简单回顾一下HTTP协议。 HTTP协议是建立在TCP...

  • 基于HTTP协议的几种实时数据获取技术

    HTTP协议 HTTP协议大家都很熟悉了,开始本文之前,首先简单回顾一下HTTP协议。 HTTP协议是建立在TCP...

  • 系统间交互--传递信息

    实时性要求高的,使用http接口,实时性要求不高的,,可以用中间数据库, http接口就是一种基于http服务的a...

  • 0821A

    socket 代替以前的comet技术或HTTP轮询的实现实时消息推送的技术集成在nodejs中的net模块里示例...

  • (三)数据推送之sse

    介绍 Server-Sent Events(简称SSE) SSE是一种能让浏览器通过http连接自动收到服务器端更...

网友评论

      本文标题:基于HTTP的实时推送数据技术 SSE

      本文链接:https://www.haomeiwen.com/subject/wqpcsjtx.html