- 1
[Opened] Mise en cache d'une réponse
Posted by Loran on 10/05/2011 11:20
Bonjour,
Est-il possible de mettre en cache la globalité d'une réponse html ? Si oui comment ?
Merci
[Opened] Mise en cache d'une réponse
Posted by laurentj on 10/05/2011 22:20
bonjour
La meilleure solution est de jouer avec les en-têtes http, permettant alors
- d'une part, de vérifier si le navigateur a la page dans son cache, en vérifiant les différents entêtes de la requête http
- d'autre part, d'indiquer au navigateur de stocker la page dans son cache
En gros, ton action sera :
function monaction() { <code> // recuperation entete requete // si indication de cache // si cache valide // retourner une reponse texte vide avec les bon entete http // sinon générer la page // dans la reponse html, mettre les entetes indiquant de mettre en cache // retourner reponse html
}
</code>Le web est rempli de littérature sur le système de cache http. j'ai trouvé un tuto plutôt bien fait : http://www.mnot.net/cache_docs/.
Si tu veux mettre en cache les pages coté serveur, il est préférable de mettre en place un reverse proxy (et utiliser les en-têtes http).
[Opened] Mise en cache d'une réponse
Posted by laurentj on 10/05/2011 22:25
Note que la mise en cache coté navigateur, ne doit être fait que dans le cas où la session ne sert à rien. En effet les cookies de sessions ne sont pas forcément transmis par les proxys qui pourraient exister sur la route entre le client final et le serveur.
Il ne faudrait pas qu'un proxy mette en cache une page qui est spécifique à un utilisateur. Les autres utilisateurs passant par ce proxy auraient alors la même page.
Ne mettre en cache des pages complètes, que des pages qui sont identiques pour tout le monde.
Si ce n'est pas le cas, il est alors préférable dans jelix d'utiliser des zones avec paramètres et d'activer leur cache.
[Opened] Mise en cache d'une réponse
Posted by Loran on 10/05/2011 23:42
Ok,merci Laurent pour ta réponse.
- 1