Seit dem 28.09.2012 steht ein erster Entwurf für die neue HTTP-Protokollversion 2.0 bei der IETF bereit. Mit der noch in der Entwicklung befindlichen HTTP/2.0-Version soll das Laden von Webseiten in Zukunft schneller erfolgen als zuvor, indem man auf sogenanntes Multiplexing setzt. Google schlägt auch vor, die Verschlüsselung (HTTPS) zum Standard zu machen; Microsoft dagegen sieht Verschlüsselung nur als eine zusätzliche Option an.
Das Hypertext Transfer Protocol wurde damals vor über 20 Jahren am Kernforschungszentrum CERN von Tim Berners-Lee, Roy Fielding und weiteren Personen entwickelt. Die HTTP-Version 1.0 (HTTP/1.0) wurde dann im Mai 1996 zum Standard. Drei Jahre später erschien HTTP/1.1, das bis heute noch verwendet wird, damit der Browser mit dem HTTP-Server und der HTTP-Server mit dem Browser einheitlich kommunizieren kann.
Einer der Unterschiede zwischen den beiden HTTP-Protokollversionen 1.0 und 1.1 ist, dass bei HTTP/1.1 mehrere Elemente über eine einzige TCP-Verbindung übertragen werden können. Somit muss nicht für jedes Element einer Webseite (also CSS- und Javascript-Dateien oder Grafiken, etc.) eine neue TCP-Verbindung auf- und wieder abgebaut werden.
Einschub: Lustiges Videos über das HTTP-Protokoll (sehr einfach gehalten)
Eingebettetes Video
https://www.youtube.com/watch?v=nvUseMmU4SkHier war ein YT-Video über eine Invidious-Instanz eingebunden. Wegen technischen Maßnahmen von Google, mit denen das Invidious-Projekt gerade zu kämpfen hat, können hier momentan keine YT-Videos via Invidious eingebunden werden.
Multiplexing: Mehrere Datenströme über eine HTTP/2.0-Verbindung
Die neue HTTP-Version 2.0 setzt auf sogenanntes Multiplexing damit eine Webseite deutlich schneller geladen werden kann. Technisch bedeutet das, dass mehrere Datenströme gleichzeitig über eine einzelne HTTP-Verbindung übertragen werden können (nicht zu verwechseln mit der TCP-Verbindung). Allerdings hat das auch ein paar Nachteile:
Wenn die gesamte Bandbreite der Internetverbindung ausgenutzt wird, um z.B. 100 unsichtbare Grafiken von der Webseite herunterzuladen, dann kann es passieren, dass die für die Anzeige wichtige CSS-Datei zu spät dran kommt und der Benutzer länger warten muss. Allerdings könnte man als Webentwickler einzelne Elemente priorisieren, so dass diese vorrangig behandelt werden.
Ausgangspunkt der Entwicklung ist Googles SPDY
Der Ausgangspunkt ist die SPDY-Spezifikation von Google. SPDY wird parallel entwickelt und ist sozusagen eine Spielwiese für die Entwickler, um neue Features zu implementieren. Der erste Entwurf (oben verlinkt) ist somit nur eine Kopie der SPDY-Spezifikation. Die Arbeitsgruppe, die an HTTP/2.0 arbeitet, hat sich allerdings schon auf wesentliche Änderungen geeinigt, so dass es am Ende keine 1:1 Kopie mehr bleibt.
An der Entwicklung beteiligen sich mittlerweile auch Apple und Microsoft. SPDY hingegen lässt nur verschlüsselte Verbindungen zu. Webserver, die das SPDY-Protokoll bereits implementieren, sind (unter anderem) die Webserver von Google, Twitter und Amazon. Bei HTTP/2.0 soll die Verschlüsselung aber nur optional sein.