Bonjour tout le monde. Je ne savais pas trop ou mettre ce sujet, donc direction le forum général.

Voilà mon problème : j'ai développé un petit script de chat en ajax, qui va donc appeler toutes les x secondes une page php pour savoir s'il y a de nouveaux messages à afficher.
Pour éviter que de gaspiller la bande passante, le client envoit le numero du dernier message reçu, et si il n'y a pas de nouveaux messages, la page php renvoit juste "0" (au lieu de tout renvoyer à chaque fois).
Un petit problème se posait encore : le navigateur ne se sentait pas obligé de recharger la page php à chaque fois s'il l'avait en cache. Pour régler ça, j'ajoute donc à l'adresse de requête xmlhttprequest un timestamp en millisecondes (genre mapage.php?t=1235487), comme ça le navigateur a l'impression qu'il s'agit d'un page différente à chaque fois.


Tout fonctionne très bien.
Problème : le navigateur s'amuse à garder les pages en cache ! Ce qui fait que si on règle le chat sur un rafraichissement à 500ms et que le visiteur reste 1h sur le chat, il se retrouve avec 7200 pages en cache, dont 99% contiennent juste "0" !
Existe-t-il un moyen de dire au navigateur que ce n'est pas la peine de mettre une page en cache ? ou une technique pour contourner ce problème ?
Modifié par BlueScreenJunky (08 Sep 2007 - 13:49)
Salut,

Essaie :
<meta http-equiv="pragma" content="no-cache" />
Ne pas sauvegarder dans le cache.

<meta http-equiv="cache-control" content="no-cache">
Mention pour le navigateur Netscape: ne pas utiliser le cache normal mais charger de la page originale.
Modifié par papyjo (09 Sep 2007 - 11:17)
Ouiiii, merci beaucoup, ça a l'air d'être exactement ça que je cherche !
(apparemment les entêtes http sont plus fiables que les balises meta, mais ça ne coute rien de mettre les deux)
Modifié par BlueScreenJunky (09 Sep 2007 - 11:25)