Kennisbank

1.000 veelgestelde vragen, 500 tutorials en uitlegvideo's. Hier vind je alleen maar oplossingen!

Gebruik headers om de caching van bronbestanden te optimaliseren

Deze handleiding legt uit hoe u de caching van webbronnen kunt optimaliseren met behulp van HTTP-headers.

 

Inleiding

  • Een goede cachestrategie kan de prestaties van uw website aanzienlijk verbeteren door te voorkomen dat ongewijzigde bestanden onnodig opnieuw worden overgedragen.
  • Webcaching is gebaseerd op twee complementaire mechanismen:
    1. De cachegeldigheidstermijn (via de header Expires) geeft aan hoe lang een bron kan worden hergebruikt zonder contact met de server.
    2. Voorwaardelijke validatie (via de headers Last-Modified/If-Modified-Since) maakt het mogelijk om te controleren of een bron is gewijzigd voordat deze opnieuw wordt gedownload.

 

Configuratie van de cacheduur met Expires

De header Expires maakt het mogelijk om een periode in te stellen waarin de browser bronnen rechtstreeks uit zijn lokale cache kan hergebruiken. Zo configureert u dit in uw .htaccess-bestand:

  1. Maak of open het .htaccess-bestand in de hoofdmap van uw website (meestal in /web of /sites/domain.xyz).
  2. Voeg de configuratie van de module expires toe:

    <IfModule mod_expires.c>
  3. Stel de juiste cache-duur in voor elk type bron:

    ExpiresActive On
    ExpiresByType text/html "access plus 1 week"
    ExpiresByType image/jpeg "access plus 1 month"
    ExpiresByType text/css "access plus 1 month"
    ExpiresByType application/javascript "access plus 1 month"

    Deze instellingen betekenen dat:

    • HTML-pagina's een week lang in de cache worden opgeslagen.
    • JPEG-afbeeldingen, CSS-bestanden en JavaScript-bestanden een maand lang worden opgeslagen.

    Pas deze duur aan op basis van hoe vaak uw bronnen worden bijgewerkt.

  4. Sluit het configuratiegedeelte:

    </IfModule>

 

Voorwaardelijke validatie met Last-Modified

Zelfs als een bron in de cache is verlopen, hoeft deze niet altijd volledig opnieuw te worden gedownload. Het mechanisme voor voorwaardelijke validatie stelt de browser in staat te controleren of de opgeslagen versie nog actueel is. Dit proces werkt als volgt:

  1. De server stuurt automatisch een header Last-Modified mee met elke bron, waarin de datum van de laatste wijziging staat.
    • Apache beheert dit standaard voor statische bestanden – er is geen extra configuratie nodig.
  2. Wanneer de browser de bron opnieuw aanvraagt, stuurt hij een header If-Modified-Since mee, waarin de datum staat die hij in de cache heeft:

    GET /resource HTTP/1.1
    Host: www.example.com
    If-Modified-Since: Wed, 21 Oct 2015 07:28:00 GMT
  3. De server vergelijkt deze datum met de werkelijke wijzigingsdatum van het bestand:
    • Als het bestand niet is gewijzigd, geeft hij eenvoudigweg de code 304 Not Modified terug, waardoor bandbreedte wordt bespaard.
    • Als het bestand is gewijzigd, geeft hij de nieuwe versie terug met de code 200 OK.

Link naar deze veelgestelde vragen: https://faq.infomaniak.com/1282


Is deze veelgestelde vragenlijst nuttig geweest?