HTTP/2

Wat is het?

HTTP heeft te maken met de manier waarop je browser met de server communiceert. Dat gebeurt volgens een bepaald protocol, zodat de browser en de server elkaar goed begrijpen.

HTTP/2 is de opvolger van HTTP/1.1. HTTP/2 is een vernieuwd protocol en zorgt voor efficiëntere communicatie tussen de browser en de server. Daardoor laadt een website sneller.

 

Om gebruik te kunnen maken van HTTP/2 moet de server dit ondersteunen en de browser ook. Alle moderne browsers ondersteunen gelukkig HTTP/2. Helaas is dat bij de hostingproviders lang niet altijd het geval. Als een browser wel HTTP/2 ondersteunt, maar de server niet, dan wordt het oude protocol HTTP/1/1 gebruikt en profiteer je dus niet van de snelheidswinst.

Waarom is het belangrijk?

Een trage website zorgt voor ergernis bij je bezoekers en loopt het risico lager te scoren bij Google. Met name websites met een CMS, zoals WordPress of Joomla websites profiteren van HTTP/2 omdat die websites uit veel (onderliggende) onderdelen bestaan.

Hoe hebben we het getest?

HTTP/2 ondersteuning is gemakkelijk online te testen op bijvoorbeeld KeyCDN en deze website hebben we dan ook gebruikt voor ons onderzoek. In twijfelgevallen hebben we voor de zekerheid ook nog getest op HTTP2.Pro.

 

Bij de test is de domeinnaam van de hostingprovider ingevoerd. Natuurlijk kan de configuratie op de webservers voor hun klanten anders zijn, maar helaas kunnen we dat niet meten. Uitgangspunt is daarom de webserver met daarop de website van de hostingprovider.
Een uitzondering wordt gemaakt als op de website van de hostingprovider wordt vermeld dat HTTP/2 ondersteund wordt op de hostingpakketten. In dat geval hoeft te website van de hostingprovider zelf niet per se HTTP/2 te ondersteunen.

 

HTTP/2 en gebruikte extensie

We hebben gekeken of HTTP/2 ondersteund wordt en welke extensie de hoster daarvoor gebruikt. Gelukkig gebruikt vrijwel elke hostingprovider die HTTP/2 aanbiedt daarvoor de ALPN extensie. Enkel hostingproviders gebruiken nog de verouderde NPN extensie.

Als je op deze website selecteert op HTTP/2, zul je in de resultaten alleen de hostingproviders te zien krijgen die HTTP/2 op basis van de ALPN extensie aanbieden.

Meer informatie

HTTP

HTTP is de afkorting voor HyperText Transport Protocol.

 

In het protocol is vastgelegd welke vragen (requests) een cliënt (bijvoorbeeld een browser) aan een webserver kan stellen en welke antwoorden (responses) een webserver daarop kan teruggeven. Door middel van vraag en antwoord worden de onderdelen van een pagina opgebouwd en het resultaat wordt weergegeven in de browser. Het eindresultaat is de pagina van een website.

 

HTTP/2

Er bestaan versies van HTTP en HTTP/2 ide opvolger van HTTP/1.1. Door de efficiëntere manier van communiceren, wordt een website sneller geladen.

Wil je zelf eens het verschil testen tussen HTTP/1.1 en HTTP/2, kijk dan eens op httpvshttps.com. Via de tabbladen HTTP en HTTPS switch je tussen de twee versies.

 

Om te profiteren van HTTP/2 moet je website zijn voorzien van SSL/HTTPS. Een aantal browsers gebruikt anders alsnog het oudere en tragere HTTP/1.1 protocol.

 

Waarom maakt HTTP/2 je website sneller?

Technische verbeteringen in het protocol zorgen ervoor dat de communicatie tussen server en browser sneller verloopt. De drie belangrijkste verbeteringen zijn:

  • mulitplexing
  • compressie van headers
  • server push

 

Multiplexing

Moderne webpagina’s bestaan uit veel elementen, zoals vele css-, jpg-, png-, javascript-, html- en php-bestanden. Vaak gaat het om wel 80 verschillende bestanden die opgevraagd worden door de browser van de bezoeker. Bij HTTP/1.1 worden die bestanden in een wachtrij gezet en één voor één ingeladen in de browser van de bezoeker. Met HTTP/2 kunnen meerdere bestanden in één keer verzonden en ingeladen worden.

 

Compressie van headers

De headers van een website worden bij HTTP/2 in één keer gestuurd met gebruik van compressie en dat geeft veel snelheidswinst.

 

Server push

In HTTP/1.1 worden bestanden pas ingeladen wanneer de browser deze opvraagt bij de webserver. Het HTML-bestand wordt ingeladen en de browser bekijkt welke bestanden verder nodig zijn voor de pagina. Bijvoorbeeld de benodigde afbeeldingen, een aantal CSS-bestanden, en een JS-bestand, en vraagt deze bestanden vervolgens op bij de server.

HTTP/2 is pro-actief. Zonder dat de browser de specifieke bestanden van een pagina opvraagt, worden deze alvast verzonden. Hierdoor kan de browser de pagina direct weergeven, zonder meer verzoeken naar de server te hoeven sturen. En dat scheelt laadtijd. De uiteindelijke webpagina verschijnt dus sneller op het scherm van de bezoeker.