2 pièce(s) jointe(s)
[HTTP] Cache-Control, navigateurs et bouton "Précédent"
Salut,
Ma question concerne le protocole HTTP et son interprétation par les navigateurs. J'espère être sur le bon forum (qu'un modo Web n'hésite pas à déplacer de sujet si ce n'est pas le cas).
Dans une application Java/JSP (mais la techno importe peu), nous avons un problème avec le bouton "Précédent" du navigateur.
En effet si on utilise plusieurs fois ce bouton on peut se retrouver avec des informations obsolètes qui peuvent induire en erreur (le cas s'est malheureusement déjà présenté). Tout ceci car la page affichée n'est plus en accord avec les données de la session coté serveur...
Or il semble bien qu'il soit impossible d'interdire l'utilisation du bouton "Précédent"...
Après quelques recherches j'ai trouvé une solution qui ne me satisfait qu'à moité : j'utilise l'entête HTTP Cache-Control pour interdire la mise en cache de la page :
Code:
Cache-Control: private, no-cache, no-store, must-revalidate
Ce qui fait que j'obtiens le résultat suivant lorsqu'on clique sur "Précédent" :
- Avec Firefox, j'obtiens une boite de dialogue qui me prévient du problème potentiel avec la possibilité d'annuler le retour arrière ou bien de reposter la demande (avec un aller-retour serveur et donc des données correctes). :arrow: Cela me convient parfaitement.
- Avec Internet Explorer, j'obtiens le message "La page Web a expiré" et il faut impérativement réactualiser la page pour revenir sur le site (avec aller/retour serveur). Et le principal problème vient du fait que cette page n'est pas très clair à mon gout, et que l'on ne peut pas utiliser le bouton "Suivant" pour revenir à la dernière page en date... :arrow: tout ceci n'est pas très "user-friendly" et j'ai peur que cela ne nous fasse remonté trop de mécontentement... (on a déjà eu pire :aie:)
Le problème concernent donc le fonctionnement d'Internet Explorer. Je voudrais permettre d'utiliser le bouton "Suivant" lorsqu'on est sur une page expiré pour pouvoir revenir à la dernière page en date... Est-ce possible ? Si oui comment ?
Merci d'avance pour toute réponse ;)
a++
PS : En pièce jointe, les messages affiché par les navigateurs lors du clic sur le bouton "Précédent"...