首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在使用HTTP/2时,我可以有多个开放的SSE通道吗?

在使用HTTP/2时,我可以有多个开放的SSE通道吗?
EN

Stack Overflow用户
提问于 2017-07-18 21:07:16
回答 1查看 1.3K关注 0票数 3

到目前为止,我只使用HTTP/ 1.1,但最近我切换到HTTP/2。在1.1上,我遇到了请求数量限制的问题,但HTTP/2使用多路复用的一个连接,这是不是意味着我可以保持多个SSE通道畅通无阻,或者我应该仍然只使用一个内部消息路由解决方案?

EN

Stack Overflow用户

回答已采纳

发布于 2017-07-19 19:27:26

如果您想要安全:只使用一个通道,或者只使用几个通道,并在内部进行多路复用。

更长的答案:更多的通道导致HTTP/1.1问题的原因是,每个通道都需要一个专用的TCP连接,而浏览器限制了每个选项卡的并发TCP连接的数量(我想大概是10个左右)。使用HTTP/2在单个连接上进行并发HTTP请求是可能的。因此,打开多个并发SSE流更有可能。但是,浏览器(以及TCP服务器)可能仍然会限制它们在TCP连接上支持的并发HTTP/2流的数量。HTTP/2甚至通过允许HTTP/2设置中的每个对等体传递其支持的最大并发流数量(SETTINGS_MAX_CONCURRENT_STREAMS)来支持这一点。为了安全起见,您需要弄清楚目标浏览器和web服务器支持的限制是什么,并使用较少的SSE流。不幸的是,我不知道它是否是HTML或浏览器规范的一部分,它们都应该至少支持通过HTTP/2的明确指定的并发请求数量。如果您保持较低的请求数量,就会避免遇到问题。

只使用几个通道的另一个优点是,您仍然可以很好地支持HTTP/1.1客户端。不仅是那些可能直接连接到您的服务器的服务器,还有那些可能通过代理服务器连接的服务器(这意味着连接浏览器<->代理使用HTTP/1.1,代理<->webserver使用HTTP/2)。

票数 5
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45167720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档