我只是理解HTTP2是m:1
模式,您将m
逻辑连接放入1
TCP流
是否可以在http2中执行m:n
模式?
m
个流被解复用到n
个连接以获得更好的可靠性,因为通常一个TCP会中断所有h2挂起。
答案 0 :(得分:1)
这是可能的,但实际上还没有完成。
浏览器特别努力打开一个与域的连接,甚至可以为不同的子域重用相同的连接,如果他们能够确定它解析为相同的IP地址和相同的证书。
其他客户端可能实现m:n
方案(例如,Jetty 9.4.x HTTP / 2客户端做 - 免责声明:我是维护者。)
选择一个好的n
的问题可能并不重要,并且每个域都可能返回到HTTP / 1.1 6-8 TCP连接。
由于每个连接都会被多路复用,因此单个HTTP / 2连接的失败将比单个HTTP / 1.1连接的失败更糟糕(因为它会使多个请求失败而不是一个),所以我猜对于单个HTTP / 2连接,它不会产生太大的影响。
Google的QUIC protocol旨在解决此问题,因为它基于UDP并且内置支持连接迁移(即从WiFi切换到移动网络)。