Pages enfant
  • Éviter les mises en cache de durée imprévisible des fichiers statiques

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

  • en mars 2021, une personne accède à https://pod.univ-reunion.fr/static/css/pod.css
  • la date du fichier est 2017-07. Il est donc vieux de 3 ans 6 mois, ou 1340 jours
  • ce fichier est servi par nginx qui renvoie "Last-Modified: ... Jul 2017 ...", mais aucun Expires/Cache-Control
  • n'ayant pas d'instructions précises, le navigateur met en cache le fichier pour 134 jours (10% de 1340)
  • donc si l'utilisateur accède au fichier 4 mois plus tard, le navigateur peut fournir la version dans son cache, sans faire aucune requête vers le serveur
  • si le fichier est modifié, la seule solution possible côté serveur pour s'assurer que l'utilisateur a la dernière version : modifier la page HTML pour faire un lien vers pod.css?v=2021-05 (la valeur importe peu du moment qu'elle est différente)

Solution : forcer une durée fixe de mise en cache

Vincent Bonamy à Rouen a forcé un Cache-Control précis sur ses apaches, du genre : https://www.esup-portail.org/wiki/display/ESUPMU/Optimisation+HTTP+Apache#OptimisationHTTPApache-Cachenavigateur

...