HTTP-Pipelining
Wenn eine Website aufgerufen wird, so müssen in der Regel mehrere Dateien geladen werden (html, javascript, css, favicon, multimedia, etc). HTTP-Pipelining ist eine Technik, bei der mehrere HTTP-Anfragen in einer einzigen TCP-Verbindung übergeben werden, ohne auf eine Antwort zu warten. Pipelining wird ausschließlich von HTTP/1.1 unterstützt.
Besonders bei Verbindungen mit hohen Latenzzeiten, wie Internetzugang über Satellit oder den mehrfach weitergeleiteten Verbindungen über das anonymisierende Tor-Netzwerk, bringt dies eine erhebliche Verkürzung der Seitenladezeiten mit sich. Beim Webbrowsing über Tor macht der standardmäßig eingesetzte Filterproxy Polipo Gebrauch davon.
Da Pipelining nicht von jedem Server unterstützt wird, wird dies nicht bei Anfragen für eine neue Verbindung verwendet, da noch nicht festgestellt werden konnte, ob der Server HTTP/1.1 unterstützt.
Damit Pipelining funktioniert, müssen sowohl der Server als auch der Client Pipelining unterstützen. Server, die HTTP/1.1 unterstützen, unterstützen Pipelining mindestens insofern, als entsprechende Anfragen nicht zu Fehlern führen.
Die Technik wurde durch Multiplexing über HTTP/2 abgelöst.[1]
In HTTP/3 wird das Multiplexing durch das neue zugrundeliegende Transportprotokoll QUIC erreicht, welches TCP ablöst. Dadurch wird die Ladezeit weiter reduziert, da es kein Head-of-Line-Blocking mehr gibt.
Weblinks
- Pipelining definiert in Sektion 8.1.2.2 von RFC 2616, im Juni 1999
- Pipelining definiert in Sektion 6.3.2 von RFC 7230, im Juni 2014
- RFC 7450 definiert HTTP/2, im Mai 2015
Einzelnachweise
- ↑ Revision 1330814 | Connection management in HTTP/1.x | MDN (Amerikanisches Englisch) In: MDN Web Docs . Abgerufen am 19. März 2018.