6 Jan 2008, 8:08
Défaut:
by

8 comments

Mise en cache dans les navigateurs

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 ?

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

[Reply]

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 🙂

[Reply]

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

[Reply]

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

[Reply]

7 Jan 2008, 3:14
by Christophe

reply

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.

[Reply]

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

[Reply]

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

[Reply]

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

[Reply]

 

Répondre à Christophe Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.