gpt4 book ai didi

websocket - 使用 HTTP/2 时,我们是否应该更喜欢 SSE + REST 而不是 websocket?

转载 作者:行者123 更新时间:2023-12-03 23:53:09 25 4
gpt4 key购买 nike

在使用 websocket 时,我们需要一个专用的连接来进行双向通信。如果我们使用 http/2,我们有服务器维护的第二个连接。

在这种情况下,使用 websocket 似乎会引入不必要的开销,因为使用 SSE 和常规 http 请求,我们可以通过单个 HTTP/2 连接获得双向通信的优势。

你怎么认为?

最佳答案

在一个多路复用 HTTP/2 TCP 连接中使用 2 个流(一个用于服务器到客户端通信的流 - Server Sent Events (SSE),一个用于客户端到服务器通信和正常 HTTP 通信的流)与使用 2 个 TCP 连接(一种用于正常的 HTTP 通信,一种用于 WebSocket)不容易比较。

里程数可能会因应用程序而异。

高架 ?嗯,当然连接数会翻倍。
但是,WebSocket 可以压缩消息,而 SSE 则不能。

灵活性?如果连接是分开的,它们可以使用不同的加密。 HTTP/2 通常需要非常强大的加密,这可能会限制性能。
另一方面,WebSocket 不需要 TLS。

明文 WebSocket 是否适用于移动网络?根据我的经验,这取决于。防病毒软件、应用程序防火墙、移动运营商可能会限制 WebSocket 流量,或降低其可靠性,具体取决于您所在的国家/地区。

API 可用性 ? WebSocket 是一种更广泛部署和公认的标准;例如,在 Java 中有一个官方 API ( javax.websocket ),另一个即将推出 ( java.net.websocket )。

我认为 SSE 是双向 Web 通信在技术上较差的解决方案,并且作为一项技术,它并没有变得非常流行(与 WebSocket 相比,没有标准 API,没有书籍等)。
如果它从 HTML5 中删除我不会感到惊讶,我也不会错过它,尽管是 one of the firstimplement it在码头。

根据您感兴趣的内容,您必须针对您的特定情况进行基准测试或评估技术。

关于websocket - 使用 HTTP/2 时,我们是否应该更喜欢 SSE + REST 而不是 websocket?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32440814/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com