Does the per-host connection limit is raised with HTTP/2?

时间:2016-04-25 08:57:38

标签: browser xmlhttprequest restriction http2

Browsers have a per-host limit regarding number of parallel XHR (about 6 nowadays).

Does this restriction apply to multiplexed HTTP/2 connections?

1 个答案:

答案 0 :(得分:25)

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

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

从某种意义上来说,几乎无限制,因为浏览器和服务器可以通过名为SETTINGS_MAX_CONCURRENT_STREAMS的{​​{3}}来限制并发请求的数量。

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

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

我不认为浏览器如何处理正常浏览的连接数和并发请求以及XHR的使用之间存在任何差异,因此上述解释也适用于XHR。