2008-12-29 18 views
6

Une redirection 302 est renvoyée après un message d'information. Cette redirection est destinée à recharger la page en cours.IE 302 Redirection No-Cache En-tête Problème

Tout cela fonctionne très bien, mais IE ajoute No-Cache à l'en-tête:

Cache-Control: no-cache 

Nous utilisons Squid pour mettre en cache notre contenu, et de mettre cela dans l'en-tête court-circuite calmars.
Comme cette redirection est utilisée assez souvent (il n'y a aucun moyen de contourner cela), cela augmente considérablement la charge sur notre système.

Firefox n'a pas ce problème, il demande simplement la page redirigée sans changer l'en-tête qui est exactement ce que nous voulons.

Y a-t-il quelque chose que nous puissions faire pour empêcher IE d'ajouter no-cache?

+0

Est-ce que cela se produit sur des machines qui ne sont pas en développement? – Liam

+0

Oui, c'est dans un environnement de production –

Répondre

3

Fascinant. C'est en effet un problème d'IE sans solution de contournement directe. Le problème est que IE ajoutera inconditionnellement un en-tête de demande Cache-Control: no-cache (ou un en-tête de demande Pragma: no-cache si vous avez un proxy) à une requête HTTP POST.

Il a sans doute été introduit dans IE il y a plus de dix ans pour prendre en charge les serveurs proxy buggés qui ne géraient pas correctement les requêtes HTTP POST et renvoyaient incorrectement les réponses mises en cache.

Un problème d'IE est que lorsque vous redirigez, les en-têtes de non-cache sont ré-ajoutés à la demande redirigée. Par conséquent, dans votre cas, votre requête redirigée envoie également l'en-tête de demande "no-cache" reporté de la requête POST.

Malheureusement, il n'y a pas de solution de contournement pour cela. Vous pouvez rediriger les utilisateurs d'Internet Explorer vers une page interstitielle qui utilise JavaScript pour les rediriger vers la page d'origine. (N'utilisez pas META REFRESH, car cela envoie TOUJOURS des demandes sans cache).

-1

Cela me semble être un bug dans IE. This discussion semble similaire. Vous pourriez peut-être essayer de renvoyer une réponse 301 ou 307 pour voir si elle répond différemment.

+3

Ce lien m'a juste amené à des images d'expérience Windows ... pas de discussion. –