根据我的理解,HTTP2是一种m:1模式,您可以将m逻辑连接放入1 TCP流中
可以在http2中使用m:n模式吗?
TCP流被多路复用到n连接中,以获得更好的可靠性,因为通常一个m会打破所有h2挂起。
发布于 2018-01-08 17:41:27
这是可能的,但在实践中并没有做到。
浏览器特别努力地尝试只打开一个连接到一个域,甚至在不同的子域中重复使用相同的连接,如果它们能找出它解析到相同的IP地址和相同的证书。
其他客户端可以实现m:n方案(例如,Jetty 9.4.x HTTP/2客户端实现-免责声明:我是维护者)。
选择一个好的n的问题可能不是微不足道的,而且每个域都有回到HTTP/1.16-8TCP连接的风险。
由于每个连接都会被多路复用,因此单个HTTP/2连接的失败将比单个HTTP/1.1连接的失败更糟糕(因为它将导致多个请求失败,而不是只有一个请求失败),所以我猜这与单个HTTP/2连接没有太大区别。
谷歌的QUIC protocol旨在解决这个问题,因为它是基于UDP的,并内置了对连接迁移(即从WiFi切换到移动网络)的支持。
https://stackoverflow.com/questions/48143287
复制相似问题