Internet Explorer et Opera (pas Firefox et Safari) mettent en cache les URLs requêtées. C’est pratique quand on revient sur les mêmes pages car c’est beaucoup plus rapide à l’affichage, étant donné que le navigateur avait l’URL et sa dernière réponse en cache.
Mais quand on fait de l’asynchrone en javascript, les Callbacks du navigateur ne vont pas rééllement voir ce qu’il y a de nouveau à l’URL, car il retourne inlassablement la réponse qui est en cache et qui correspond à l’URL mémorisée.
Pour ne pas avoir de surprise il faut que le javascript génère des URLs bidons à chaque nouvelle requête.
Est-ce bien, est-ce mal ?
Signaler sur TwitterAutres notes similaires :
- Je regarde une note de Yves-Marie Pondaven dans laquelle il indique un site dont l’ergonomie est remarquable et dont les URLs sont « propres ». Je vais sur leur page d’accueil et reste un moment à passer la souris sur les liens pour voir les URLs et admirer le « design des URIs ». Mais voilà que ma femme [...]......
- En javascript, la fonction : getTime( ) renvoie le temps écoulé en milisecondes depuis le 1 Janvier 1970. A quelques jours près, cette fonction donne mon âge. Signaler sur Twitter......
- Vous recevez un mail de Google vous indiquant que la plupart des services de Google en version gratuite vont disparaître : Gmail, Google Apps, Google Reader, Google Sites et iGoogle . Google vous invite à souscrire à une version payante de tous ces services, qui offre notamment quelques avantages comme : plus de capacité de [...]......


{ 8 comments… read them below or add one }
C’est de la bidouille!! Malheureusement pour que ça marche avec des navigateurs ne respectant pas les standards on est souvent obligé de bidouiller.
Sinon la bonne méthode c’est d’utiliser les entêtes Http:
Cache-Control: no-cache
http://tools.ietf.org/html/rfc2616#section-14.9.1
Si çà marche (avec les entêtes http) c’est que çà veut dire qu’Internet Explorer modifiera son comportement dans sa gestion des caches en respectant le RFC de HTTP ?
T’es sûr ?
Sinon, merci pour le bon lien
Et surtout, les URL ne sont-elles pas sensées donner toujours la même ressource ? Sinon, il serait préférable de faire une requête POST (ce que fait AJAX je crois).
@Olivier : en fait une requête javascript peut appeler une même URL tout en changeant l’URL dans ses paramètes. C’est l’appli web, côté serveur, qui éliminera l’aspect « bidon » de l’URL.
Tu peux bien sûr faire une requête POST, mais c’est parfois la requête GET qui s’impose logiquement. En Ajax, il n’y a rien qui impose d’utiliser uniquement des POST que je sache.
Le plus « propre » est d’utiliser ces URL bidons pour stocker l’état de l’application et ainsi le restituer ultérieurement (via back, next ou un favori).
Ainsi on préserve le principe et le rôle de chaque URL.
Excusez mon ignorance, mais je ne comprends rien de rien.
Pourriez vous me dire si mes lecteurs pourront toujours me lire même lorsque je suis en cache, parce que j’ai l’impression que les visiteurs ont déserté mon blog et je rends les caches responsables de ce fait.
Et pourquoi suis en cache maintenant?
Je n’ai rien demandé moi?
Aidez moi§
Merci d’avance
Hortense
Pas de problème avec ton blog Hortense, la raison de la désertion doit être cherchée ailleurs.
Bon courage !
Merci Chistian
Je vais donc arrêter de me tourmenter pour le problème de cache et chercher d’autres raisons. J’ignore comment, l’avenir me le dira
Bonne journée