web-dev-qa-db-fra.com

Pourquoi dois-je vider le cache du navigateur pour voir les modifications apportées au backend?

Cette question est liée à Le changement sur le back-end prend 30 minutes ou plus pour apparaître sur le front-end, quelle pourrait être la cause?

Lorsque j'ai posé la question ci-dessus, aucune modification n'a été constatée sur le serveur frontal, même si j'ai effacé le cache du navigateur ou changé de navigateur. Je ne sais toujours pas ce qui se passait ce jour-là, mais aujourd'hui, le problème semble être plus identifiable.

Le site en question est http://www.peaceevereci.tv/ . J'apporte des modifications à l'un des menus, sur mes autres sites joomla, sur le même ordinateur, ce genre de modification serait bien sûr visible dès le départ; mais pour ce site, je dois effacer le cache du navigateur avant de pouvoir voir le changement. J'ai contacté le fournisseur d'accueil, dreamhost, ils m'ont donné un lien avec un proxy, et à partir de ce lien, je peux voir les changements immédiatement. Alors ils ont dit que cela n'avait rien à voir avec eux parce que cela signifie qu'ils ont bien servi le contenu. Donc, cela a quelque chose à voir avec mon paramètre joomla? Je ne trouve pas où.

Après tout, le navigateur ne met en cache que les scripts et les images, non? Comment se fait-il qu'il mette en cache mon élément de menu, que Joomla obtient d'une base de données?

En passant, non seulement les modifications, telles que le titre de l'élément de menu, mais également l'état de la fonctionnalité doivent être vides avant que le cache du navigateur ne soit visible. Je ne les ai pas tous essayés, mais je suppose que tout changement que je ferais dans le back-end exigerait d'effacer le cache du navigateur. Pourquoi?

1
shenkwen

Nous avons eu un problème similaire avec un client auparavant - vous pouvez le trouver ici . Le problème a été résolu en créant un .htaccess fichier sous le dossier de l’administrateur, puis en ajoutant (au fichier .htaccess fichier) des instructions spécifiques pour ne mettre en cache aucun fichier HTML ou PHP. Essayez-le sur votre site Web et dites-nous s'il résoudra votre problème. Notez que si le problème persiste, Cela signifie que la mise en cache de l’hôte est agressive et que vous devez contacter votre hôte pour l’éviter.

En ce qui concerne les réponses à vos questions: les navigateurs, par défaut, mettent en cache les fichiers JS/CSS/media/document - ils ne mettent pas en cache les pages PHP/HTML. Joomla peut demander au navigateur (en utilisant le plug-in "Système - Cache") de tirer parti de la mise en cache du navigateur. De plus, certains serveurs indiquent explicitement au navigateur de mettre en cache le contenu PHP/HTML afin de réduire leur charge (caractéristique largement répandue chez les hôtes partagés traditionnels). Cependant, il appartient toujours au navigateur de respecter ces instructions (et presque tous les navigateurs le font, à moins que leurs paramètres internes ne soient modifiés).

Encore une fois, si vous dites le navigateur, dans le .htaccess fichier, pour ne pas mettre en cache les fichiers PHP/HTML, votre problème sera probablement résolu.

2
itoctopus