Gui*_* D. 13 websocket server-sent-events http2
使用websocket时,我们需要一个专用的双向通信连接.如果我们使用http/2,我们有服务器维护的第二个连接.
在这种情况下,使用websocket似乎会引入不必要的开销,因为使用SSE和常规http请求,我们可以通过单个HTTP/2连接获得双向通信的优势.
你怎么看?
在一个多路复用HTTP/2 TCP连接中使用2个流(一个用于服务器到客户端通信的流 - 服务器发送事件(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通信技术上较差的解决方案,作为一种技术,它并没有变得非常流行(没有标准的API,没有书籍等 - 与WebSocket相比).如果它得到来自HTML5下降,我不会感到惊讶,我不会错过它,尽管是第一个来实现它在码头.
根据您感兴趣的内容,您必须根据具体情况进行基准测试或评估技术.
| 归档时间: |
|
| 查看次数: |
5791 次 |
| 最近记录: |