HTTP-Pipelining
# 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.

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.

