HTTP2 en WordPress: dit is wat je moet weten

http2

Hoe vaak ben je wel geen artikelen tegengekomen met tips over hoe je je WordPress website sneller kunt maken? Bij de meeste van dit soort artikelen worden dezelfde oude trucjes steeds weer herhaald. Maar er is nog een manier om je WordPress site sneller te maken: met HTTP2.

Wat is HTTP?

Hoewel je misschien niet precies weet wat het betekent en wat het doet, maak je dagelijks tientallen keren gebruik van HTTP. Elke keer dat je Google bezoekt bijvoorbeeld, of WPhandleiding. Je kunt HTTP (de afkorting voor HyperText Transfer Protocol) zien als de manier waarop een browser en een web server met elkaar communiceren. HTTP is in feite de taal waarin de web server en de cliënt met elkaar praten.

Hosting en Webhosting bij Combell

Waarom hebben we HTTP2 nodig?

HTTP werd officieel voor het eerst beschreven in 1991. Dat is meer dan 25 jaar geleden, en de technologie heeft natuurlijk niet stil gestaan. In die tijd was een standaard website misschien een paar KB groot, terwijl dat tegenwoordig zeker een paar MB is. Het aantal bestanden waar een website uit bestaat is gegroeid van een handje vol tot honderden. Door die veranderingen werden de beperkingen van het HTTP protocol zichtbaar; websites werden groter en geavanceerder, maar ook trager. Vandaar de behoefte aan HTTP2.

HTTP2 is in feite een evolutie van het http protocol, dat gericht is op het verhelpen van die beperkingen. Eén van de primaire doelstellingen van HTTP2 is:

“…De latentie verlagen om de laadtijd in web browsers te verbeteren.” (Bron: Wikipedia)

De beperkingen van HTTP1

Zoals gezegd heeft HTTP1 een aantal beperkingen, die ontstaan zijn door de groeiende grootte en complexiteit van hedendaagse websites. Een website van pakweg 25 jaar geleden kon wel uit twee bestanden bestaan: een HTML bestand en een plaatje. De browser hoefde dan ook maar twee verbindingen te maken. Maar als je onder de motorkap van een moderne website kijkt, dan zie je dat er tientallen verschillende soorten bestanden gedownload moeten worden. Hierbij kun je denken aan meerdere HTML bestanden, CSS bestanden voor de opmaak van de site, JS bestanden om interactieve functies in te schakelen, afbeeldingen, en zogeheten ‘third party scripts’ om functies zoals Analytics, AdWords en social sharing te kunnen benutten. De browser moet vragen naar elk bestand dat in de HTML, CSS en JS bestanden wordt genoemd, wat betekent dat hij honderden verbindingen moet maken.

Het creëren van een enkele verbinding vergt een aanzienlijke technische overhead. Honderden verbindingen natuurlijk nog veel meer. Stel je voor dat je postbode voor elke brief die hij moest bezorgen terug moest naar het postkantoor. Dat is in principe het geval met HTTP1. Om een website nog enigszins snel te maken, moesten er twee dingen gebeuren:

  1. De latentie verlagen door zoveel mogelijk bestanden bij elkaar te gooien, waardoor er minder verzoeken nodig waren
  2. Het comprimeren van de bestanden waardoor de hoeveelheid data die tussen de browser en de server verstuurd moest worden geminimaliseerd werd.

HTTP2 streeft ernaar om deze problemen te verhelpen.

Wat maakt HTTP2 nu sneller?

HTTP1 was een tekst gebaseerd protocol, in essentie bedoeld om door mensen gelezen te kunnen worden. HTTP2 is een binair protocol, wat betekent dat het bedoeld is voor de communicatie tussen machines (je webserver en je browser) in plaats van voor mensen. Met HTTP2 kan onze ‘postbode’ nu meer brieven tegelijk bezorgen, waardoor hij veel efficiënter en sneller kan werken.

We zullen het niet al te technisch maken, dus we vatten even samen op welke manieren HTTP2 efficiënter is:

  1. Het is sneller om een verbinding tussen de cliënt en de server te creëren;
  2. De daadwerkelijke verbinding tussen een browser en een web server is efficiënter en dus aanzienlijk sneller;
  3. Bestanden en bronnen die de cliënt nodig heeft kunnen tegelijk overgebracht worden in plaats van sequentieel;
  4. Bestanden kunnen door de server naar de web browser ‘gepushed’ worden als deze denkt dat hij ze later nodig zal hebben, wat de totale overdrachtstijd van bestanden korter maakt;
  5. Initiële verbindingen worden sneller gemaakt.

Momenteel wordt HTTP2 door ongeveer 70% van de browsers ondersteund. Alle grote browsers (Chrome, FireFox, Microsoft Edge, Safari, Opera) ondersteunen HTTP2. Als een browser geen HTTP2 ondersteund, valt hij automatisch terug op HTTP1.

Hoe implementeer ik HTTP2 in mijn website?

De meeste grote web servers zoals Apache, nginx en IIS ondersteunen HTTP2 al. Als je website op één van deze servers draait, betekent dat echter niet dat je website HTTP2 ook ondersteund. Dat hangt er vanaf of de server van je host een versie van de software heeft die HTTP2 ondersteund. Het is dus zeker aan te raden om na te vragen of je huidige host HTTP2 ondersteund. Maar dan ben je er nog niet: je moet namelijk ook een veiligheidscertificaat voor je website hebben, zoals een commercieel SSL certificaat.

En hoe zit het dan met HTTP2 voor WordPress?

HTTP2 staat, simpel gezegd, los van WordPress of welk ander CMS je dan ook gebruikt. Maar er zijn wel specifieke dingen die je met WordPress kunt doen.

Eén van de verbeteringen van HTTP2 is de implementatie van een mechanisme genaamd Server Push. Hiervoor zijn suggesties vereist door het CMS dat er gebruikt wordt. De HTTP/2 Server Push WordPress plugin laat site admins suggesties doen voor welke bronnen “server pushed” kunnen worden. Dat betekent dat CSS en JS bestanden die gebruik maken van het WordPress wachtrij mechanisme, door de web server naar de browser ‘gepushed’ kunnen worden, en zo HTTP2 optimalisatie technieken ten volste kunnen benutten. Zeker de moeite waard dus!

Laten we het web sneller maken met HTTP2

Je weet nu dat HTTP2 de laadtijd van je website aanzienlijk kan verbeteren. Dat betekent dat je gebruikers een veel snellere en veel plezierigere gebruikerservaring zullen hebben. En daar draait het uiteindelijk om, toch?

Korting op WordPress handleiding

Geef een reactie