是否使用HTTP/2引发了每主机连接限制?

War*_*ine 23 browser xmlhttprequest restriction http2

浏览器对于并行XHR的数量(现在约为6)具有每主机限制.

此限制是否适用于多路复用HTTP/2连接?

sbo*_*det 35

使用HTTP/1.1时,浏览器会将每域限制为6-8个连接,具体取决于浏览器的实现.这允许每个域最多6-8个并发请求.

使用HTTP/2,浏览器每个域只打开1个连接.但是,由于HTTP/2协议的多路复用功能,每个域的并发请求数不限于6-8,但实际上是无限的.

在浏览器和服务器可能通过调用的HTTP/2配置参数限制并发请求数的意义上,它实际上是无限的.SETTINGS_MAX_CONCURRENT_STREAMS

典型限制大约为100(Firefox的默认值network.http.spdy.default-concurrent- 请注意spdy这里的名称:它是HTTP/2协议的协议祖先)但可能更大(或者更少,通常更小),具体取决于浏览器实现和服务器上的连接至.

多年来随着HTTP/2的演变和更广泛的使用,预计这些限制会发生变化(与HTTP/1.1相同:浏览器以2个连接开始,经过多年使用后最终达到6-8个,经验和调整).

我认为浏览器如何处理正常浏览的连接数和并发请求以及XHR的使用之间没有任何区别,因此上述解释也适用于XHR.

  • 客户端和服务器都可以指定`SETTINGS_MAX_CONCURRENT_STREAMS`.如果客户端为服务器指定了值,则表示服务器能够推送的资源数量限制.如果服务器指定客户端的值,则表示客户端能够请求的项目数.我不确定Firefox是否仅使用`network.http.spdy.default-concurrent`来指定服务器的限制,或者还将其请求限制为相同的值. (3认同)