大模型---SSE与WebSocket
目录一.SSE二.WebSocket三.SSE与WebSocket的区别一.SSESSE(Server-Sent Events),它允许服务器通过一个长时间保持打开的 HTTP 响应,持续向浏览器发送事件。浏览器端通过 EventSource API 建立连接,服务器端返回的响应类型是text/event-stream。SSE 是服务器到客户端的单向推送。客户端如果要把数据发给服务器,通常另开普通 HTTP 请求,例如 fetch()、POST、PUT 等。1.SSE的自动重连当连接异常断开时,浏览器通常会自动尝试重新连接。具体来说,每个EventSource对象都有 reconnection time 和 last event ID string;当服务器发送id字段后,浏览器会保存这个last event ID。当浏览器重新建立 SSE 连接时,会把上一次收到的事件 ID 放入Last-Event-ID请求头中,服务器可以据此补发断线期间遗漏的事件。例如,服务器发送id:101,浏览器保存 lastEventId = 101。当网络断开,浏览器会自动重连,请求头带上Last-Event-ID: 101,服务器会从102开始补发。但是,自动重连不等于自动保证消息不丢。如果服务器没有保存事件日志,或者不能根据 Last-Event-ID 做补发,重连后仍然可能丢消息。2.流式文本SSE天然适合不断输出文本片段,这也是为什么很多 AI 生成式接口会使用类似 SSE 的流式响应模型。但是,标准事件流是文本格式。如果要传二进制,需要自己做Base64或其他编码,这会带来额外体积和处理成本。二.WebSocketWebSocket
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2596722.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!