Efficiënt cachen
Silktide laadt je pagina's in een echte browser en controleert hoelang elk bestand door de browser van de bezoeker mag worden bewaard voordat het opnieuw moet worden gedownload. Bestanden die slechts korte tijd of helemaal niet worden bewaard, worden gerapporteerd, samen met de hoeveelheid gegevens die terugkerende bezoekers onnodig downloaden.
Waarom dit belangrijk is
De meeste bestanden van een website veranderen nauwelijks: logo's, stylesheets, scripts en lettertypen zijn op elke pagina en bij elk bezoek hetzelfde. Wanneer een browser ze mag , laadt een terugkerende bezoeker ze direct vanaf het eigen apparaat, in plaats van ze opnieuw te downloaden. Zonder caching begint elke paginaweergave opnieuw vanaf nul: herhaalde bezoeken voelen net zo traag als het eerste bezoek, en je bezoekers en servers betalen steeds opnieuw voor dezelfde bytes.
Zo los je dit op
- Stel je server zo in dat deze een lange cacheduur verzendt voor statische bestanden — een jaar is gebruikelijk:
# Responsheader voor statische bestanden (1 jaar)
Cache-Control: max-age=31536000, immutable
- Los het updateprobleem op met URL's met versies: wanneer een bestand verandert, wijzig je de URL ervan (bijvoorbeeld
app.3f2a1.css). Browsers behandelen de nieuwe URL als een nieuw bestand, waardoor langdurige caching nooit verouderde inhoud aanbiedt. De meeste buildtools en kunnen dit automatisch doen. - Gebruik korte of helemaal geen caching voor inhoud die altijd actueel moet zijn, zoals de van de pagina zelf.
Zo test Silktide dit
- Laad de pagina in een echte browser en lees de cache-instructies waarmee elk bestand is aangeboden.
- Identificeer statische bestanden — zoals afbeeldingen, stylesheets, scripts en lettertypen — waarvan de cacheduur kort is of ontbreekt.
- Rapporteer elk bestand met de huidige cacheduur en grootte, gewogen naar de waarschijnlijkheid dat het bij een herhaald bezoek opnieuw wordt gedownload.
Problemen oplossen
We wijzigen deze bestanden vaak
Daar zijn URL's met versies voor: cache ze voor altijd en wijzig de URL wanneer de inhoud verandert. Als je platform geen versies aan URL's kan toevoegen, kies dan de langste levensduur waarbij je verouderde inhoud nog kunt tolereren — zelfs één dag is veel beter dan niets.
Er worden bestanden van derden gerapporteerd
Cacheduur wordt ingesteld door de server die het bestand aanbiedt, dus je kunt caching voor scripts van een ander bedrijf niet zelf aanpassen. Je kunt afwegen of de dienst de kosten waard is — zie code van derden.