Kennisbank
1.000 veelgestelde vragen, 500 tutorials en uitlegvideo's. Hier vind je alleen maar oplossingen!
Gebruik headers om de caching van resources te optimaliseren
Deze handleiding legt uit hoe u de caching van webresources kunt optimaliseren met behulp van HTTP-headers.
Inleiding
- Een goede cachingstrategie kan de prestaties van uw website aanzienlijk verbeteren door te voorkomen dat ongewijzigde bestanden onnodig opnieuw worden verzonden.
- Webcaching is gebaseerd op twee complementaire mechanismen:
- De geldigheidsduur van de cache (via de header
Expires), die aangeeft hoe lang een bron kan worden hergebruikt zonder contact op te nemen met de server. - Conditionele validatie (via de headers
Last-Modified/If-Modified-Since), waarmee kan worden gecontroleerd of een bron is gewijzigd voordat deze opnieuw wordt gedownload.
- De geldigheidsduur van de cache (via de header
De cacheduur configureren met 'Expires'
De header Expires maakt het mogelijk om een periode te specificeren waarin de browser resources rechtstreeks uit de lokale cache kan hergebruiken. Zo configureert u dit in uw .htaccess-bestand:
- Maak of open het bestand
.htaccessin de hoofdmap van uw website (meestal in/webof/sites/domain.xyz). Voeg de configuratie van de module
expirestoe:<IfModule mod_expires.c>Stel de juiste cache-duur in voor elk type bronbestand:
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 regels betekenen dat:
- HTML-pagina's een week in de cache worden bewaard.
- JPEG-afbeeldingen, CSS-bestanden en JavaScript-bestanden een maand in de cache worden bewaard.
Pas deze duur aan op basis van hoe vaak uw bronbestanden worden bijgewerkt.
Sluit het configuratiegedeelte:
</IfModule>
Voorwaardelijke validatie met Last-Modified
Zelfs wanneer een bron in de cache is verlopen, is het niet altijd nodig om deze volledig opnieuw te downloaden. Het mechanisme voor voorwaardelijke validatie stelt de browser in staat te controleren of de versie in de cache nog steeds actueel is. Dit proces werkt als volgt:
- De server stuurt automatisch een
Last-Modified-header mee met elke resource, waarin de datum van de laatste wijziging staat.- Apache verwerkt dit standaard voor statische bestanden; er is geen extra configuratie nodig.
Wanneer de browser de resource opnieuw aanvraagt, stuurt hij een
If-Modified-Since-header mee, waarin de datum staat die in de cache is opgeslagen:GET /resource HTTP/1.1 Host: www.example.com If-Modified-Since: Wed, 21 Oct 2015 07:28:00 GMT- De server vergelijkt deze datum met de werkelijke wijzigingsdatum van het bestand:
- Als het bestand niet is gewijzigd, retourneert het eenvoudigweg een code
304 Not Modified, waardoor bandbreedte wordt bespaard. - Als het bestand is gewijzigd, retourneert het de nieuwe versie met een code
200 OK.
- Als het bestand niet is gewijzigd, retourneert het eenvoudigweg een code
Link naar deze veelgestelde vragen: https://faq.infomaniak.com/1282
Is deze veelgestelde vragenlijst nuttig geweest?