惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
Last Week in AI
Last Week in AI
U
Unit 42
aimingoo的专栏
aimingoo的专栏
Engineering at Meta
Engineering at Meta
博客园 - 聂微东
小众软件
小众软件
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Recent Announcements
Recent Announcements
罗磊的独立博客
MongoDB | Blog
MongoDB | Blog
Stack Overflow Blog
Stack Overflow Blog
博客园_首页
M
MIT News - Artificial intelligence
博客园 - 司徒正美
T
The Blog of Author Tim Ferriss
D
DataBreaches.Net
IT之家
IT之家
C
Check Point Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
T
Tailwind CSS Blog
D
Docker
Microsoft Security Blog
Microsoft Security Blog
Google DeepMind News
Google DeepMind News

博客园 - gogoy

LangChain的Deep Agents学习 Java 开发中 一篇文章讲清楚VO,BO,PO,DO,DTO的区别 云原生:Mesh化架构模式(sidecar模式)、容器vsPod Serverless 介绍 Spring单例Bean并发安全问题分析和解决 图解直接映射(Direct mapped)、全相联(Fully-associative)和组相联(Set-associative)cache缓存基本原理 为什么大语言模型推理要分成 Prefill 和 Decode? 【台大机器学习系列1】机器学习2021 人工智能交互中的角色与提示词:System、User与Assistant 台大李宏毅 2025 AI Agent 新课来了!(即李宏毅机器学习2025) 一文搞懂Passkey(转) RISC-V、x86、ARM技术对比解析 各种函数依赖及规范化解决 操作日志 “二清”详解:支付产品必须知道的“清结算规矩” 金融通识:国内支付清算体系CNAPS2 Mockito教程(单测mock) zookeeper TCP相关经典 Java常见的超时及设计
SSE协议与HTTP协议
gogoy · 2024-10-12 · via 博客园 - gogoy

SSE协议的全称是“Server-Sent Events”,它是一种用于服务器向客户端单向推送数据的技术,常用于实时更新网页内容

ChatGPT 对话框交互通常是基于 HTTP 协议的请求-响应模型。SSE(服务器推送事件,Server-Sent Events)是一种允许服务器主动向客户端推送信息的协议。两者之间的主要区别如下:

  1. 通信方式:

    • HTTP:客户端发送请求,服务器返回响应。每次请求都是独立的。
    • SSE:服务器可以主动向客户端推送消息,客户端保持一个持久连接。
  2. 适用场景:

    • HTTP:适合标准的请求-响应情境,如网页加载、API请求等。
    • SSE:更适合需要实时更新的场景,如聊天应用、实时通知等。
  3. 连接方式:

    • HTTP:每次请求都要建立一个新的连接(虽然 HTTP/2 可以复用连接)。
    • SSE:基于长连接,客户端和服务器的连接可以保持一段时间,以便进行持续的通信。

总而言之,ChatGPT 通常使用 HTTP 协议进行交互,但也可以结合其他技术(例如 WebSockets 或 SSE)以实现更复杂的实时通信需求。

微信聊天中使用SSE(Server-Sent Events)是一个比较具体的技术实现方式,可以用于实现实时数据传输,尤其在消息推送等场景中。不过,微信官方并没有公开其具体的技术架构,所以我们无法确切知道它是否直接使用了SSE。

SSE的基本概念

SSE是一种HTML5中的技术,允许服务器通过HTTP连接持续发送更新到浏览器。它适用于需要实时推送数据的场景,比如:

  • 实时消息更新
  • 实时通知
  • 数据监控

微信聊天中的可能应用场景

  1. 实时消息推送:聊天中的消息需要实时到达接收方,SSE可以在保持与服务器的长连接的基础上,及时把新消息推送给用户。

  2. 用户状态更新:例如,联系人上线、打字状态等可以通过SSE来实时传输,提升用户体验。

  3. 群聊消息同步:在群聊中,多个用户同时发言,SSE可以确保所有参与者都能实时接收到新消息。

实现分析

  • 连接管理:使用SSE时,需要建立一个长连接。微信聊天中,连接管理的效率与稳定性直接影响聊天的流畅度。
  • 性能和带宽:如果用户众多,持续的连接可能会对服务器造成压力。合理的放宽连接数和优化带宽至关重要。
  • 兼容性:SSE是基于HTTP的,并且在大多数现代浏览器中已得到支持,当然也需要考虑移动端的不同环境。

结论

虽然微信聊天可能会用到类似SSE的技术来支持实时推送,但具体使用的实现方式和数据协议可能是经过优化和定制的。它们可能综合运用了WebSocket、HTTP2等技术,以更好地满足用户的需求和性能考虑。