2010-06-25 11 views
3

Il semble que dans les navigateurs basés sur Webkit (Chrome et Safari) lorsqu'un Post/Redirect/Get est effectué sur le serveur, la page entière (html + images + css , etc.) est redownloaded. Il semble que vous ayez rechargé la page.Publier/Rediriger/Obtenir dans Webkit provoque une recharge complète de la page

Il y a eu une question (et un peu d'une solution) affiché dans l'aide Google Chrome: http://www.google.com/support/forum/p/Chrome/thread?tid=72bf3773f7e66d68&hl=en

Quelqu'un at-il une façon plus élégante de le faire? Je travaille avec ASP.NET MVC et préférerais ne pas écrire un résultat de redirection personnalisé qui renvoie Javascript ou la page réelle basée sur le UserAgent.

Devrais-je simplement espérer et attendre que Webkit change son comportement?

+0

Et si vous définissiez un en-tête Far-Future Expires pour vos ressources statiques, cela vous aide-t-il? –

+0

Il semble ignorer tous les mécanismes de mise en cache qui peuvent être en place. Il semble qu'il se comporte de la même manière que si l'utilisateur cliquait sur le bouton Recharger. –

+0

duplication possible de [Rechargement de page complet sur Post/Redirection/Récupérer le contrôle de cache ignoré] (http://stackoverflow.com/questions/3004702/full-page-reload-on-post-redirect-get-ignoring-cache-control –

Répondre

2

Ceci est un bug. La seule "solution de contournement" que j'ai vu jusqu'à présent est d'utiliser un en-tête Refresh au lieu d'un en-tête Location pour effectuer la redirection. C'est loin d'être idéal.

Bug 38690 - Submitting a POST that leads to a server redirect causes all cached items to redownload

En outre, cette question est une copie de "Full page reload on Post/Redirect/Get ignoring cache control".

+0

Merci beaucoup pour l'apport et la poursuite de ce problème. Espérons que ça se fixe un de ces jours. –

0

Essayez de définir l'en-tête Cache-Control: public.

Questions connexes