我可以从 websocket 升级回 http 吗?

Posted

技术标签:

【中文标题】我可以从 websocket 升级回 http 吗?【英文标题】:Can i reverse the upgrade from websocket back to http? 【发布时间】:2019-07-15 05:10:45 【问题描述】:

我有一个 websocket 客户端收到的数据现在我希望它发送到 http 服务器。有什么方法可以将数据存储在消息事件之外? 或者 我可以将 websocket 客户端转换回 http 客户端吗??

【问题讨论】:

【参考方案1】:

不,WebSocket 连接不能“降级”回 HTTP。

但是,是的,将信息从 WebSocket 事件中移出并开始一个新的 HTTP 请求非常简单……尽管实现细节(显然)取决于语言、环境等。即,浏览器客户端实现与 C 客户端非常不同。

请注意,服务器不能发起 HTTP 请求,但服务器可以要求客户端这样做。

【讨论】:

以上是关于我可以从 websocket 升级回 http 吗?的主要内容,如果未能解决你的问题,请参考以下文章

发送连接升级后,如何在golang中将客户端http连接升级到websockets

.NET 库,可以将套接字从 HTTP 切换到 WebSocket 协议

在实时应用程序中始终通过 http 使用 websocket 会更好吗? [关闭]

websocket 升级是不是仍然允许 http ajax 请求?

如果不需要回退,使用 WebSocket API 代替 Socket.io 有啥好处吗

JBoss 上带有 SockJS 的 Spring-MVC Websocket:如果没有 IO 事件,无法从 HTTP/1.1 升级