Mise en cache dans les navigateurs

by Christian on 6 janvier, 2008

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 ?

Print Friendly
Signaler sur Twitter

{ 8 comments… read them below or add one }

Aurélien janvier 6, 2008 à 10:33

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

Répondre

Christian janvier 6, 2008 à 11:39

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 🙂

Répondre

Olivier G. janvier 7, 2008 à 11:12

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).

Répondre

Christian janvier 7, 2008 à 12:02

@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.

Répondre

Christophe janvier 7, 2008 à 3:14

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.

Répondre

willykean janvier 22, 2008 à 7:21

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

Répondre

Christian janvier 22, 2008 à 10:46

Pas de problème avec ton blog Hortense, la raison de la désertion doit être cherchée ailleurs.
Bon courage !

Répondre

wilykean janvier 23, 2008 à 9:09

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

Répondre

Leave a Comment

Previous post:

Next post: