Browser haben eine Grenze pro Host hinsichtlich der Anzahl der parallelen XHR (ungefähr 6 heutzutage).Wird das Limit für Verbindungen pro Host mit HTTP/2 erhöht?
Gilt diese Einschränkung für gemultiplexte HTTP/2-Verbindungen?
Browser haben eine Grenze pro Host hinsichtlich der Anzahl der parallelen XHR (ungefähr 6 heutzutage).Wird das Limit für Verbindungen pro Host mit HTTP/2 erhöht?
Gilt diese Einschränkung für gemultiplexte HTTP/2-Verbindungen?
Die Browser setzen bei Verwendung von HTTP/1.1 je nach Browserimplementierung eine Grenze von 6-8 Verbindungen pro Domäne fest. Dies ermöglicht maximal 6-8 gleichzeitige Anfragen pro Domain.
Mit HTTP/2 öffnen Browser nur 1 Verbindung pro Domäne. Dank der Multiplexfunktion des HTTP/2-Protokolls ist die Anzahl der gleichzeitigen Anfragen pro Domäne jedoch nicht auf 6-8 beschränkt, sondern ist virtuell unbegrenzt.
Es ist praktisch unbegrenzt in dem Sinne, dass Browser und Server können über die SETTINGS_MAX_CONCURRENT_STREAMS
genannt HTTP/2 configuration parameter die Anzahl der gleichzeitigen Anforderungen begrenzen.
Typische Grenzwerte sind rund 100 (Firefox Standardwert für network.http.spdy.default-concurrent
- beachten Sie den spdy
Name hier: es ist das Protokoll Vorfahren des HTTP/2-Protokoll war) könnte aber größer sein (oder, seltener, kleiner), je nach Browser Implementierung und auf dem Server, mit dem Sie sich verbinden.
Erwarten Sie, dass diese Grenzen im Laufe der Jahre mit der Entwicklung und der verbreiteten Verwendung von HTTP/2 variieren (so wie es bei HTTP/1.1 der Fall war: Browser starteten mit 2 Verbindungen und endeten danach bis 6-8) Jahre der Nutzung, Erfahrung und Abstimmung).
Ich glaube nicht, dass es einen Unterschied gibt, wie ein Browser die Anzahl der Verbindungen und gleichzeitige Anfragen für normales Surfen und für die Verwendung von XHR behandelt, so dass die obigen Erklärungen auch für XHR gelten.
Der Client und der Server können jeweils 'SETTINGS_MAX_CONCURRENT_STREAMS' angeben. Wenn der Client einen Wert für den Server angibt, gibt dies an, wie viele Ressourcen der Server maximal übertragen kann. Wenn der Server den Wert für den Client angibt, gibt er an, wie viele Elemente der Client anfordern kann. Ich bin unsicher, ob Firefox nur "network.http.spdy.default-concurrent" verwendet, um das Limit für den Server festzulegen, oder ob seine Anforderungen auf denselben Wert beschränkt sind. – gapple