Caching: een eenvoudige uitleg
Caching: in onze branche is het één van de eerste begrippen die je leert. Het is een veel gebruikte methode om de laadtijd van websites te optimaliseren; als je het hebt over snelheid, heb je het al vlug over caching.
Bekende kost voor ons dus, maar misschien ben jij de term nog nooit tegengekomen. Of wel, en ben je op zoek naar wat het betekende. In beide gevallen is dit artikel voor jou bedoeld. Hier leggen we uit wat caching is, hoe het werkt, en waarom het voor jou belangrijk is als je zelf een website hebt.
Wat is caching?
Om je uit te kunnen leggen wat caching is, moeten we eerst uitleggen hoe het laden van een webpagina werkt. Als je een pagina bezoekt, moeten de elementen op de pagina eerst geladen worden. Dit proces zal je bekend voorkomen.
Achter de schermen communiceert je browser met de server waar de website op staat. De browser geeft aan de server aan dat jij deze pagina wil bekijken. Voor elk onderdeel van de pagina moet er een verzoek naar de server gestuurd worden.
De server krijgt de verzoeken binnen. Een verzoek voor een afbeelding, een tekst, nog een afbeelding, een menu, een footer, en wat er dan nog meer op die pagina staat. Hoe meer elementen er op de pagina staan, hoe meer verzoeken. Zoals je ziet, stapelt het zich nogal snel op.
Als de server de verzoeken verwerkt heeft, worden de opgevraagde gegevens terug naar jouw browser gestuurd. Dan krijg je dat element te zien en is het “klaar met laden”.
Maar met ingewikkelde pagina’s kan dat best even duren. Het verwerken van verzoeken kost tijd.
En dat is waar caching handig is. Caching zorgt er namelijk voor dat je browser niet steeds nieuwe verzoeken naar de server hoeft te versturen als je dezelfde pagina opnieuw bezoekt. De gegevens van de pagina worden ergens “onthouden”. Vervolgens worden de gegevens vanuit daar opgehaald en niet vanuit de server. Dit verbetert de laadsnelheid van de website.
Hoe werkt caching?
Hieronder gaan we iets meer in detail over hoe caching werkt, in enigszins technischere termen.
Zonder caching werkt het laden van een webpagina als volgt:
- Een website bestaat uit verschillende onderdelen, die chronologisch worden gegenereerd. De bestanden waarin de code van de website staat, worden naar de server gestuurd. De server bouwt de website op met behulp van die bestanden. Foto’s worden ingeladen, en andere dynamische elementen worden gevormd.
- Dit proces kost tijd en wordt herhaald elke keer dat je de pagina bezoekt.
En met caching werkt het zo:
- De eerste keer dat je de webpagina bezoekt, worden bovenstaande stappen doorlopen; er wordt een verzoek naar de server gestuurd, de server stuurt de opgevraagde gegevens terug naar je browser, en je krijgt de pagina te zien. Dit kost tijd.
- Die eerste keer worden de opgevraagde gegevens in de “cache” opgeslagen. Die cache kan zich op meerdere plekken bevinden. Dat lichten we zometeen nog verder toe.
- Als je de tweede keer die pagina bezoekt, wordt er geen verzoek gestuurd naar de server. In plaats daarvan worden de gegevens opgehaald uit de cache. De laadtijd van de website wordt hierdoor verminderd, omdat de gegevens niet opnieuw gegenereerd hoeven te worden.
- De gegevens in de cache worden niet voor altijd bewaard. Op een bepaald moment worden de gegevens automatisch verwijderd uit de cache en moet je browser weer een nieuw verzoek aan de server sturen. De tijd die de gegevens in de cache worden bewaard, heet TTL (“Time To Live”) of lease time.
Welke soorten caching zijn er?
Caching versnelt dus de communicatie tussen jouw browser en de server waarop de website staat, door de gegevens van de website op te slaan in de cache. In grote lijnen kan dit proces plaatsvinden op twee verschillende manieren: in je browser en/of op de server.
Browser-caching
De browser-cache bevindt zich aan jouw kant van de communicatie, in je browser. Daar worden herhaalde verzoeken tijdelijk opgeslagen zodat de website de volgende keer sneller laadt. Gegevens als pagina-inhoud, de code van de website, en persoonlijke voorkeuren worden opgeslagen. Er wordt geen verzoek naar de server gestuurd; in plaats daarvan worden de opgevraagde gegevens uit de browser-cache gehaald.
Om eens te ervaren wat browser-caching doet, kun je je browser-cache zelf eens legen. Je zult merken dat veel websites langzamer laden – omdat je browser dus nieuwe verzoeken naar de server moet sturen om de inhoud van de pagina te laden. Maar als je dezelfde website daarna opnieuw bezoekt, zal hij sneller laden.
Browser-caching werkt goed voor websites met dynamische content. Bijvoorbeeld webshops; daarbij is het belangrijk dat altijd up-to-date content aan de bezoekers geserveerd wordt. Om ervoor te zorgen dat de bezoekers altijd de nieuwste producten te zien krijgen en niet een oude versie van de website zien, zul je de producten uitzonderingen op de cache moeten maken. Met browser-caching is dat makkelijker.
Server-caching
De server-cache bevindt zich, zoals de naam al suggereert, op de server waar de website op staat. Het zorgt ervoor dat de resultaten van de verzoeken die aan de server gestuurd zijn, worden opgeslagen. In plaats van dat nieuwe verzoeken vanuit je browser steeds verwerkt worden (wat tijd kost), worden gegevens teruggestuurd die al eens opgevraagd en opgeslagen waren.
Server-caching werkt het beste voor websites die meestal dezelfde content zullen laten zien.
Welke voordelen heeft goede caching?
Als je zelf een website hebt, begin je intussen misschien te overwegen of het een goed idee zou zijn om caching op jouw website te implementeren. Wij zouden zeggen: zeker! Hieronder nemen we je mee in wat voor voordelen daaraan hangen.
Website-snelheid
Zoals genoemd verbetert caching de snelheid van je website. Dat is belangrijk, want als het te lang duurt voordat de website geladen is, haken je bezoekers af. En dan loop je klanten mis.
Google-score
Niet alleen de bezoekers van je website vinden snelheid belangrijk; zoekmachines vinden dat ook. Hoe sneller je website, hoe groter de kans dat je hoger komt te staan in de zoekmachines.
Gebruikersvriendelijkheid
Een trage website zorgt voor frustratie bij je bezoekers. Het is belangrijk dit zoveel mogelijk te voorkomen. Je wil immers niet dat je klanten het gevoel hebben dat hun tijd verspild wordt. Daarnaast komt een smooth lopende website simpelweg professioneler over op je klanten.