【光子AI】MCP 的 streamable_http 与 SSE 前后区别是什么:原理剖析和源代码详解

MCP 的 streamable_http 与 SSE 前后区别是什么:原理剖析和源代码详解

文章目录

  • MCP 的 streamable_http 与 SSE 前后区别是什么:原理剖析和源代码详解
      • 1. 核心架构区别
      • 2. 为什么要从 SSE 升级到 Streamable HTTP?
      • 3. 交互流程对比
      • 总结
  • =====================================
    • 一句话结论
    • 时间线(“前后”指的就是这些版本)
    • 旧 SSE transport vs 新 Streamable HTTP:逐点对比
      • 1) Endpoint 结构:两条 URL → 一条 URL
      • 2) 客户端发消息方式:固定 POST URL + 手摇协议 → 每条消息一次 POST(更“HTTP 化”)
      • 3) 服务端回消息方式:只能走 SSE → 可以 JSON 也可以 SSE
      • 4) 服务端主动推送:从“默认走那条 SSE 长连接” → 规范化为 GET 开 SSE
      • 5) 断线恢复/补发:旧版没标准答案 → 新版把 `Last-Event-ID`、重放规则写进规范
      • 6) Session:从“各家自定义” → 规范化 `MCP-Session-Id`
    • 工程上的“最常见坑”(你大概率就是在这卡住)
      • 坑 1:浏览器原生 `EventSource` 不能加自定义 headers
      • 坑 2:SSE 连接数限制(浏览器侧)
    • SDK 配置名的对应关系(你看到的 `streamable_http` 是什么)
    • 迁移时你应该怎么理解“前后差异”(实操版)
  • ================================================
      • 场景设定
      • 1. Legacy SSE (双通道模式)
        • 后端代码 (Server)
        • 前端代码 (Client)
      • 2. Streamable HTTP (单通道模式)
        • 后端代码 (Server)
        • 前端代码 (Client)
      • 关键差异总结
  • =================================================
    • A) Legacy SSE transport(HTTP+SSE,旧版,两条 endpoint)
      • 协议要点(对应你要对比的“差异”)
      • 1) 后端:`legacy-sse-server.js`(Node + Express)
      • 2) 前端:`legacy-sse-client.html`(浏览器:EventSource + fetch POST)
    • B) Streamable HTTP(新 transport:单一 /mcp,POST/GET,可选 SSE)
      • 协议要点(对应你要对比的“差异”)
      • 1) 后端:`streamable-http-server.js`(Node + Express)
      • 2) 前端:`streamable-http-client.html`(浏览器:fetch 处理 JSON 或 SSE)
    • 你用这两套代码做对比时,应该看到的“网络形态差异”
      • Legacy SSE(旧)
      • Streamable HTTP(新)

在 MCP (Model Context Protocol) 协议的演进中,Streamable HTTP是作为SSE (Server-Sent Events)的升级替代方案推出的。它们的核心区别在于连接架构的复杂度网络兼容性

简单来说:

  • SSE (旧版/Legacy):需要两个不同的端点(一个发消息,一个收消息),依赖长连接。
  • Streamable HTTP (新标准):只需要一个端点,统一了收发,兼容性更强,支持“按需流式”。

以下是详细的技术对比和区别:

1. 核心架构区别

特性SSE (旧版传输方式)Streamable HTTP (新版传输方式)
端点数量双端点 (Dual Endpoints)
1.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1125780.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

docker部署kkFileView实现文件预览功能

一:参考文档 kkFileView官方文档:https://kkview.cn/zh-cn/index.htmlgithub地址:https://github.com/kekingcn/kkFileViewdocker镜像地址:https://hub.docker.com/r/keking/kkfileview 二:docker部署kkFileView 1&…

Linux信号处理函数中断流程分析

Linux中信号处理函数的执行可能会中断其他正在执行的流程,但具体行为取决于中断的类型和执行上下文。以下是详细分析: 1. 信号处理中断的两种情况 A. 用户态执行被中断 当进程在用户态执行时,信号处理函数会中断正常的程序流程: /…

吐血推荐!继续教育AI论文写作软件TOP9:选对工具轻松过关

吐血推荐!继续教育AI论文写作软件TOP9:选对工具轻松过关 一、不同维度核心推荐:9款AI工具各有所长 在继续教育的论文写作过程中,学术写作通常包含开题、初稿撰写、查重、降重、排版等多个环节,而每款AI工具在这些细分…

24v转100v 功率350w 12v转200v300v400v500v直流dcdc高压电源模块

电源特点:保护功能全,启动功率大,适用范围广泛,耐用,可靠性高,内置元件功率余量大! 主要材料:电容 105 度电容,主要芯片与功率管采用进口件,线路板统一采用 F…

ModBus协议——可用A810C-L400M30无线LORA数传电台

Modbus是一种串行通信协议,是Modicon公司(现在的施耐德电气Schneider Electric)于1979年为可编程逻辑控制器(PLC)通信而发表的。Modbus已经成为工业领域通信协议的业界标准,并且现在是工业电子设备之间常用…

[特殊字符]️_开发效率与运行性能的平衡艺术[20260107163415]

作为一名经历过无数项目开发的工程师,我深知开发效率与运行性能之间的平衡是多么重要。在快节奏的互联网行业,我们既需要快速交付功能,又需要保证系统性能。今天我要分享的是如何在开发效率和运行性能之间找到最佳平衡点的实战经验。 &#…

RAG优化完全指南:从检索到生成的实战技巧,程序员必学!建议收藏

本文深入解析RAG系统的三大优化方向:检索器优化(混合检索、两阶段检索、查询改写)、索引优化(分块策略、元数据索引、GraphRAG)和生成优化(Prompt设计、后处理校验),全面解决检索不准、不全和生成不稳三大痛点,帮助构建高效稳定的RAG系统。这…

德州仪器在CES首次展示新型汽车半导体及开发资源,提升车型的安全性和自动驾驶能力

、美通社:德州仪器 (TI)1月5日推出新型汽车半导体及开发资源,旨在提升各类车型的安全性和自动驾驶能力。TI的可扩展型TDA5高性能计算片上系统(SoC)产品系列,兼具功耗与安全优化的处理能力,还可提供边缘人工智能(AI)功能&#xff0…

RAG技术2025年演进:从检索增强生成到上下文引擎,程序员必学大模型关键技术

文章回顾2025年RAG技术的发展历程,分析其面临的争议与挑战,探讨RAG与长上下文技术的比较、优化路径(如TreeRAG、GraphRAG)以及从知识库向数据底座的演进。RAG技术正从"检索增强生成"升维为以"智能检索"为核心能力的"上下文引擎…

星巴克中国与亚朵集团达成合作推出联合会员计划 | 美通社头条

、美通社消息:1月6日,星巴克中国宣布与亚朵集团达成合作,携手推出联合会员计划,标志着星享俱乐部的会员权益再度加码。加入联合会员的金星、钻星会员,可体验一年至高360天亚朵金会员核心权益,享受"升级…

五大 AI 获客软件推荐:适配不同场景的精准获客解决方案

随着 AI 技术在营销领域的深度渗透,企业获客模式正从传统粗放式转向精准化、智能化。以下五款 AI 获客软件基于功能特性、场景适配性及市场口碑筛选,按核心价值优先级依次推荐,兼顾不同行业、规模企业的获客需求,客观呈现各产品的…

2025年终总结 - 微分几何助力突破具身智能发展的瓶颈

今天是 2025 年 12 月 31 日,又到了一年一度回顾与思考的时刻。回望 2025 年,人工智能正在以前所未有的速度重塑人类社会结构,而具身智能(Embodied Intelligence)正逐渐成为这一轮技术浪潮中的核心焦点。所谓具身智能&…

我们可以使用 onChange 事件来监听 input 的变化,并修改 state

React 表单与事件 本章节我们将讨论如何在 React 中使用表单。 HTML 表单元素与 React 中的其他 DOM 元素有所不同,因为表单元素生来就保留一些内部状态。 在 HTML 当中&#xff0c;像 <input>, <textarea>, 和 <select> 这类表单元素会维持自身状态&…

白箱、黑箱到灰箱,神经科学迎来新物种:不再复刻大脑,而是成为大脑的AI代言人

来源&#xff1a;集智俱乐部传统神经科学依赖机制假设构建模型&#xff0c;而人工智能正在引入一种新的研究对象——代理脑&#xff08;surrogate brain&#xff09;&#xff1a;一种可从数据中学习、可预测、可操纵的个体化全脑动力学系统。与经典生物物理模型不同&#xff0c…

吐血推荐专科生必用TOP10 AI论文软件

吐血推荐专科生必用TOP10 AI论文软件 推荐2&#xff1a;「Grammarly」&#xff08;学术版&#xff09;——英文论文润色标杆&#xff08;推荐指数&#xff1a;★★★★☆&#xff09; 对于有SCI、EI投稿需求的用户&#xff0c;Grammarly&#xff08;学术版&#xff09;是不可替…

本章节我们将讨论如何React 表单与事件

React 表单与事件 本章节我们将讨论如何在 React 中使用表单。 HTML 表单元素与 React 中的其他 DOM 元素有所不同,因为表单元素生来就保留一些内部状态。 在 HTML 当中&#xff0c;像 <input>, <textarea>, 和 <select> 这类表单元素会维持自身状态&…

本章节我们将讨论如何React 表单与事件

React 表单与事件 本章节我们将讨论如何在 React 中使用表单。 HTML 表单元素与 React 中的其他 DOM 元素有所不同,因为表单元素生来就保留一些内部状态。 在 HTML 当中&#xff0c;像 <input>, <textarea>, 和 <select> 这类表单元素会维持自身状态&…

Nordic方案——无线射频模组AS01-ML01SC

Nordic Semiconductor在无线性能和精密度方面拥有领先业界的表现&#xff0c;即使是对成本极为敏感的消费类产品&#xff0c;也能运用该公司的超低功耗 (ULP) 无线芯片。Nordic Semiconductor的芯片广泛用于无线PC外设、游戏控制器、体育和健身传感器、玩具、先进的多媒体控制器…

GEO服务/运营商推荐!2026 GEO 优化实用指南:如何选对服务商让 AI 精准推广品牌

随着 QuestMobile 2025 年调研数据显示 AI 搜索引擎月活用户已达 6.85 亿&#xff0c;40 岁以下高学历群体占比超 74%&#xff0c;“让 AI 推广我的品牌” 成为企业数字化营销的核心诉求。而 GEO&#xff08;生成式引擎优化&#xff09;作为抢占 AI 搜索流量的关键技术&#xf…

别再用手机自带天气了

天气应用的技术革命&#xff1a;从数据接收到智能预警的全链路解密当我第一次打开 Mercury Weather 3.0 的飓风追踪界面时&#xff0c;眼前出现的不仅仅是简单的气象图标&#xff0c;而是一个完整的气象数据可视化系统。这让我不禁思考&#xff1a;在看似简单的天气应用背后&am…