Si je modifie le fichier htaccess pour activer la mise en cache navigateur,que va-t-il se passer si je déclare tout en "access plus 1 year"?

Si par exemple un jour je souhaite changer une photo (qui aura le même nom) ou que je fais une modification CSS, le navigateur du visiteur qui a déjà des données en cache devra-t-il attendre 1 an avant d'avoir la nouvelle version ?

Ca me parait dangereux, il faudrait un système qui ordonne au visiteur de purger le cache sur commande.

Attachment image

1 réponse

Évaluation
  • oyubir
    Lv 6
    il y a 2 mois
    Réponse favorite

    Oui, les meta-informations du caches sont cachées en même temps que le contenu.

    Quand par exemple on réalise qu'on a besoin de désactiver le cache sur un fichier qui change souvent, c'est trop tard pour le dire pour les navigateurs qui l'ont déjà chargé. Evidemment on peut demander aux gens de vider leur cache (et dans ce cas, quand ils récupéreront la nouvelle photo, ils récupéreront également l'information disant que dorénavant il ne faut plus mettre en cache ces fichiers (ou la durée de mise en cache).

    La méthode quand on a un site public, qu'on a besoin de changer un fichier qu'on a déjà distribué et qui est donc probablement en cache chez les clients, c'est de changer le nom du fichier. C'est pour cela qu'on voit souvent des fichiers au nom compliqué (avec un numéro de version dans le fichier ou un truc du genre)

    Regardez sur cette page.

    Le logo yahoo s'appelle

    54d7a352d4c11dfeb7bd74c82f3fbcff.png

    Le style questionPage.1ad52651724aa074827a.css

    etc.

    Et ce ne sont pourtant pas des ressources dynamiques (la forme des pages yahoo est probablement la ressource la plus statique qui existe sur tout internet. Leur CSS sont quasiment aussi vieux que l'invention du CSS)

    • Merci, je pense que je vais tout mettre à 1 mois car je risque de me faire piéger (Je passe mon temps à faire des modifications).

    • Commenter avatarConnectez-vous pour commenter des réponses
Vous avez d’autres questions ? Pour obtenir des réponses, posez vos questions dès maintenant.