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:
- De cachegeldigheidstermijn (via de header
Expires) geeft aan hoe lang een bron kan worden hergebruikt zonder contact met de server. - 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.
- De cachegeldigheidstermijn (via de header
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:
- Maak of open het
.htaccess-bestand in 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 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.
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:
- De server stuurt automatisch een header
Last-Modifiedmee met elke bron, waarin de datum van de laatste wijziging staat.- Apache beheert dit standaard voor statische bestanden – er is geen extra configuratie nodig.
Wanneer de browser de bron opnieuw aanvraagt, stuurt hij een header
If-Modified-Sincemee, 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- 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 Modifiedterug, waardoor bandbreedte wordt bespaard. - Als het bestand is gewijzigd, geeft hij de nieuwe versie terug met de code
200 OK.
- Als het bestand niet is gewijzigd, geeft hij eenvoudigweg de code
Link naar deze veelgestelde vragen: https://faq.infomaniak.com/1282
Is deze veelgestelde vragenlijst nuttig geweest?