Problème avec le cache du navigateur.

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

thierry8
WRInaute accro
WRInaute accro
 
Messages: 3251
Inscription: Lun Juil 11, 2005 11:47

Problème avec le cache du navigateur.

Message le Sam Sep 23, 2006 16:43

Hello !

Voila toutes les solutions que je connais pour (normalement) "rafraichir" le cache de manière à recharger les différents éléments de la page HTML (images, script .js, etc..):
Code: Tout sélectionner
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="cache-control" content="no-cache, must-revalidate" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="last-modified" content="" />
<meta http-equiv="cache" Content="no store">


Seulement, je constate que ça ne fonctionne pas...
J'en est besoin lorsqu'il y a de gros changement de présentation par exemple, mais ça ne "rafraichi" pas et donc ne recharge pas les éléments comme voulu...

Il faut réactualiser la page depuis sont navigateur pour recharger les éléments...


Je ne sais donc pas comme cela ce fesse et ne sais pas comment faire autrement... :?

(test sous IE et FireFox en local et distant)

Une idée.. :?:


sureau
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 192
Inscription: Lun Mar 07, 2005 15:25

Message le Sam Sep 23, 2006 17:01

en php tu as cette facon

$CachePlus = "";
if (ereg("MSIE [56789]", (isset($HTTP_USER_AGENT)) ? $HTTP_USER_AGENT : getenv("HTTP_USER_AGENT"))) $CachePlus = ", pre-check=0, post-check=0, max-age=0";
$now = gmdate('D, d M Y H:i:s') . ' GMT';
header("Expires: $now");
header("Last-Modified: $now");
header("Cache-Control: no-cache, must-revalidate".$CachePlus);
header("Pragma: no-cache");

thierry8
WRInaute accro
WRInaute accro
 
Messages: 3251
Inscription: Lun Juil 11, 2005 11:47

Message le Sam Sep 23, 2006 17:07

ça n'y change rien.. 8O

je deviens fou..
une question en faisant cela, même les images des css devraient être rechargées, non ?!...


mais j'avais aussi fait le test sur des <img src=""... même pb !


sureau
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 192
Inscription: Lun Mar 07, 2005 15:25

Message le Sam Sep 23, 2006 17:08

et quand tu fais un refresh ou que tu vide ton cache dans le navigateur, ça change?

thierry8
WRInaute accro
WRInaute accro
 
Messages: 3251
Inscription: Lun Juil 11, 2005 11:47

Message le Sam Sep 23, 2006 17:14

sureau a écrit:et quand tu fais un refresh ou que tu vide ton cache dans le navigateur, ça change?

oui : "Il faut réactualiser la page depuis sont navigateur pour recharger les éléments..."

edit: refresh non essayé, mais ce n'est pas une solution adaptée..


sureau
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 192
Inscription: Lun Mar 07, 2005 15:25

Message le Sam Sep 23, 2006 17:24

Et avec un un refresh en html
Code: Tout sélectionner
<meta http-equiv="refresh" content="1;URL=ton url">

thierry8
WRInaute accro
WRInaute accro
 
Messages: 3251
Inscription: Lun Juil 11, 2005 11:47

Message le Sam Sep 23, 2006 19:23

sureau a écrit:Et avec un un refresh en html
Code: Tout sélectionner
<meta http-equiv="refresh" content="1;URL=ton url">

thierry8 a écrit:edit: refresh non essayé, mais ce n'est pas une solution adaptée..


je ne veux pas passer par le refresh...ce n'est pas une bonne méthode.

autrement dit il n'y a aucun moyen fiable pour vider et rafraichir le cache du navigateur..


MirageDemonAsh
WRInaute impliqué
WRInaute impliqué
 
Messages: 418
Inscription: Sam Fév 12, 2005 9:23

Message le Dim Sep 24, 2006 2:59

Quelques script php utilisent ce type d'astuce pour eviter la mise en cache :

Code: Tout sélectionner
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past


Tu peux aussi t'inspirer de ces codes dont le 1er trouvé sur le script categorizator :

Code: Tout sélectionner
// Paramètres pour éviter la mise en cache ...
        header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
        header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
        header("Cache-Control: no-store, no-cache, must-revalidate");
        header("Cache-Control: post-check=0, pre-check=0", false);
        header("Pragma: no-cache");


ou une variante :

Code: Tout sélectionner
<?
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
?>



La feinte c'est header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");

thierry8
WRInaute accro
WRInaute accro
 
Messages: 3251
Inscription: Lun Juil 11, 2005 11:47

Message le Dim Sep 24, 2006 8:51

J'ai déjà tout testé, mais l'image que je supprime est toujours présente (à cause du cache nav.) !

pfff..merdique l'affaire !


sureau
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 192
Inscription: Lun Mar 07, 2005 15:25

Message le Dim Sep 24, 2006 11:00

Oui, j'ai eu le même problème (lors du renommage de fichiers). La seule parade que j'ai réussi à trouver est en faisant un refresh html, ou passez par une page transitoir (l'uload a bien eu lieu, vous allez etre redirigé etc...)

netsys
WRInaute accro
WRInaute accro
 
Messages: 1110
Inscription: Sam Juil 17, 2004 18:47

Message le Dim Sep 24, 2006 11:38

dans le cas d'une image qui se modifie souvent il faut l'appeler avec un nom différent : nom.jpg?var=$var ou $var est un nombre aléatoire et ainsi le navigateur ira toujours recharger l'image depuis le serveur.

thierry8
WRInaute accro
WRInaute accro
 
Messages: 3251
Inscription: Lun Juil 11, 2005 11:47

Message le Dim Sep 24, 2006 11:44

oui apparement il n'y a que le refresh (meta) qui fonctionne efficacement...

bon, ben je vais faire avec ! merci ;)


e-kiwi
Modérateur
Modérateur
 
Messages: 13876
Inscription: Mar Déc 23, 2003 9:04

Message le Lun Sep 25, 2006 7:29

sous firefox -> "shift f5" :)
pour tes visiteurs -> problème si ils ne font pas shift f5 :)

je ne suis pas sur que le meta refresh fonctionne tout le temps

djon77
Nouveau WRInaute
 
Messages: 33
Inscription: Sam Jan 26, 2008 11:59

Message le Lun Avr 14, 2008 16:18

Je sais pas si ya eu d'autres solutions depuis mais voilà une solution que j'ai trouvée après avoir essayé je ne sais combien de choses :evil: !!

Code: Tout sélectionner
<meta http-equiv="Cache-Control" content="no-cache" max-age="1" must-revalidate>
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache" content="no store">
<meta http-equiv="expires" content="0" />
<meta http-equiv="last-modified" content="" />


Ca a marché uniquement après avoir ajouté max-age="1".
Je sais pas si en enlevant d'autres paramètres ça marche qd-même mais là j'ai plus le courage de tester!

hop hop hop j'ai parlé trop vite! Ca a marché qeulques fois seulement 8O


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité