Al het webverkeer over internet maakt gebruik van het bekende HTTP-protocol. Wat u misschien niet weet, is dat er meerdere versies van het HTTP-protocol zijn gepubliceerd en gebruikt op internet. De eerste gepubliceerde versie was HTTP V0.9 en werd uitgebracht in 1991, versie 1.0 werd uitgebracht in 1996 en in 1997 vervangen door HTTP/1.1.
HTTP/1.1 is sindsdien het standaard webcommunicatieprotocol. Hoewel het protocol een aantal revisies en verduidelijkingen heeft ondergaan waardoor eerdere versies achterhaald zijn, is de naam HTTP/1.1 gebruikt. De meest recente herzieningen vonden plaats in 2014.
HTTP/2 werd in 2015 gepubliceerd en is ontworpen om naast de vorige HTTP/1.1-standaard te worden aangeboden in plaats van te vervangen. Het is gebaseerd op het SPDY-protocol (spreek uit als "speedy") dat is ontwikkeld door Google en is ontworpen om zoveel mogelijk compatibiliteit met HTTP/1.1 te behouden, zoals met foutcodes en aanvraagmethoden.
Het HTTP/2-protocol is ook ontworpen om de snelheid waarmee webpagina's worden geladen te verhogen door middel van een reeks efficiëntieverbeteringen. Door HTTP/1.1 niet te vervangen, kunnen oudere apparaten die HTTP/2 niet ondersteunen nog steeds functioneren, terwijl apparaten die het nieuwere protocol wel ondersteunen de voordelen kunnen genieten.
HTTP/2-verbeteringen
Een van de grote veranderingen in HTTP/2 is dat alle bronnen op een pagina in één verbinding kunnen worden opgevraagd en geretourneerd. Voorheen moest de webbrowser in HTTP/1.1 een nieuwe verbinding openen voor elke aangevraagde bron en deze vervolgens sluiten. Dit leidt tot veel extra overhead, vooral als een pagina tientallen of zelfs honderden bronnen heeft, waardoor de laadtijden van de pagina worden vertraagd. Door alle bronnen in één verbinding op te vragen, hoeft de browser slechts over één enkele verbinding met de webserver te onderhandelen, waardoor de transmissie-overhead en de belasting van bronnen wordt verminderd.
Tip: Een webresource is elk bestand dat wordt gebruikt bij de weergave van een webpagina. Dit omvat bijvoorbeeld de HTML-code, afbeeldingen, stijlinformatie en scripts.
Nog een verbetering in HTTP/2 is dat webverzoeken nu "gepipelined" zijn, hierdoor kunnen meerdere verzoeken worden verzonden voordat er antwoorden zijn ontvangen. Voorheen in HTTP/1.1 moest elk verzoek in volgorde worden gedaan, wat betekent dat er tijd werd besteed aan het wachten op een antwoord op het vorige verzoek om de volgende bron aan te vragen, waardoor de laadtijd van de pagina werd vertraagd.
Implementatie in browsers
Alle moderne browsers ondersteunen HTTP/2. Helaas is de implementatiegraad op websites minder universeel. Desalniettemin kunnen gebruikers profiteren van de voordelen van HTTP/2 op die websites die zijn geconfigureerd om het te gebruiken.
Hoewel het HTTP/2-protocol zelf geen codering vereist, doen alle browserimplementaties dat wel. Als zodanig kan het HTTP/2-protocol alleen worden gebruikt via HTTPS-verbindingen.