HTTP/2 是否提高了每个主机的连接限制?
Is the per-host connection limit raised with HTTP/2?
浏览器对每个主机的并行 XHR 数量有限制(现在大约 6 个)。
此限制是否适用于多路复用 HTTP/2 连接?
使用 HTTP/1.1 时,浏览器将每个域限制为 6-8 个连接,具体取决于浏览器的实现。
这允许每个域最多 6-8 个并发请求。
对于 HTTP/2,浏览器只为每个域打开 1 个连接。
但是,由于HTTP/2协议的多路复用特性,每个域的并发请求数不限于6-8,而是实际上无限制。
实际上 没有限制,因为浏览器和服务器可能会通过名为 SETTINGS_MAX_CONCURRENT_STREAMS
的 HTTP/2 configuration parameter 限制并发请求的数量。
典型限制在 100 左右(Firefox 的默认值 network.http.spdy.default-concurrent
- 请注意此处的 spdy
名称:它是 HTTP/2 协议的协议祖先)但可能更大(或者,不太常见,更小),具体取决于浏览器实现和您连接到的服务器。
随着 HTTP/2 的发展和更广泛的使用,预计这些限制会随着这些年的变化而变化(与 HTTP/1.1 发生的方式相同:浏览器从 2 个连接开始,并且经过多年的使用、经验和调整,最终达到 6-8。
我认为浏览器如何处理正常浏览的连接数和并发请求数与 XHR 的使用没有任何区别,因此上述解释也适用于 XHR。
浏览器对每个主机的并行 XHR 数量有限制(现在大约 6 个)。
此限制是否适用于多路复用 HTTP/2 连接?
使用 HTTP/1.1 时,浏览器将每个域限制为 6-8 个连接,具体取决于浏览器的实现。 这允许每个域最多 6-8 个并发请求。
对于 HTTP/2,浏览器只为每个域打开 1 个连接。 但是,由于HTTP/2协议的多路复用特性,每个域的并发请求数不限于6-8,而是实际上无限制。
实际上 没有限制,因为浏览器和服务器可能会通过名为 SETTINGS_MAX_CONCURRENT_STREAMS
的 HTTP/2 configuration parameter 限制并发请求的数量。
典型限制在 100 左右(Firefox 的默认值 network.http.spdy.default-concurrent
- 请注意此处的 spdy
名称:它是 HTTP/2 协议的协议祖先)但可能更大(或者,不太常见,更小),具体取决于浏览器实现和您连接到的服务器。
随着 HTTP/2 的发展和更广泛的使用,预计这些限制会随着这些年的变化而变化(与 HTTP/1.1 发生的方式相同:浏览器从 2 个连接开始,并且经过多年的使用、经验和调整,最终达到 6-8。
我认为浏览器如何处理正常浏览的连接数和并发请求数与 XHR 的使用没有任何区别,因此上述解释也适用于 XHR。