95 votes

Firefox 5 met en cache les redirections 301

Existe-t-il un moyen de désactiver cette "fonctionnalité" ?

Par exemple, si une demande est faite à http://localhost/foo.html que j'ai spécifié comme étant "301" vers l'adresse racine, toutes les demandes ultérieures vers foo.html contourner complètement le serveur web et ffox 5 vérifiera son cache, lira que cette url a été '301'ed précédemment et redirigera sans même vérifier un changement.

Si j'ai arrêté foo.html de 301'ing, je dois vider le cache de firefox afin d'éviter que cela ne se produise.

Chrome, IE et la version précédente de Firefox ne le font pas.

0 votes

Même la suppression du cache ne résout pas cette erreur pour moi (Firefox 17.0.1, Linux).

2 votes

@kirdie Dans la boîte de dialogue "effacer l'historique récent", assurez-vous de définir la plage de temps sur "tout", et cochez la case "cache". Si la période sélectionnée est plus récente que vos visites sur l'URL redirigée, l'entrée du cache ne sera pas effacée.

13 votes

@kirdie et tous ceux qui ont le même problème : Regardez l'historique avec Ctrl + H. Ensuite, faites un clic droit sur le site et choisissez "supprimer tout l'historique pour ce site" (ou quelque chose de similaire). Cela a fonctionné pour moi.

125voto

Steve Parish Points 389

Dans Firefox, vous disposez des outils "Web Developer" (Ctrl+Shift+I). Vous pouvez cliquer sur l'onglet "Réseau" et cocher la case "Désactiver le cache" pour vérifier la nouvelle version de la page à chaque fois. Chargez ensuite l'URL d'origine, ce qui rafraîchira votre cache. Vous pouvez ensuite réactiver le cache et accéder à cette URL à partir d'autres onglets. Vous n'avez donc pas besoin de vider entièrement votre cache.


D'après le commentaire de cptstubing06, ce qui suit peut aider à vider le cache :

  1. Type Ctrl+l pour placer le curseur sur la barre de localisation.
  2. Type about:config pour ouvrir le paramètres de configuration .
  3. Confirmez les avertissements éventuels.
  4. Type browser.cache suivi par Enter pour filtrer les paramètres.
  5. Double-cliquez sur browser.cache.check_doc_frequency .
  6. Changez la valeur de 3 a 1 .
  7. Cliquez sur OK .
  8. Revisitez la page 301 mise en cache de façon obsessionnelle.
  9. Remettez la fréquence sur 3 lorsque vous avez terminé.

Firefox devrait maintenant rediriger vers la nouvelle page 301 et ne plus récupérer la page redirigée dans le cache.

5 votes

C'est une excellente solution pour moi. veulent une redirection 301 en cache 99 % du temps, mais il peut arriver que je doive changer l'emplacement de la redirection et que je ne veuille pas vider TOUT mon cache. Juste pour clarifier, Firefox est livré avec son propre Web Developer sous le menu Outils, qui n'est pas l'addon. L'addon est également appelé Web Developer mais il apparaît dans votre menu Outils sous la forme Web Developer Extension et peut être téléchargé ici : addons.mozilla.org/en-us/firefox/addon/web-developer .

5 votes

Veuillez noter que si vous voulez que firefox mise à jour son cache pour votre URL redirigée, vous pouvez utiliser l'option Web Developer Extension pour contrôler temporairement le comportement de changement de firefox pour toujours vérifiez s'il y a une nouvelle version, puis remettez-le à votre réglage normal. Ceci se trouve sous Web Develoepr Extension -> Disable -> Disable Cache -> Check For Newer Version Of Page -> Check For Newer Version Of Page Every Time.

1 votes

Quelle que soit la méthode que vous choisissez, la procédure consiste à modifier ce paramètre pour qu'il vérifie toujours la présence d'une nouvelle version, puis à charger votre URL avec la redirection en cache. Le serveur recevra alors la nouvelle réponse qui existe pour cette URL et mettra à jour son cache avec cette nouvelle réponse. Ensuite, vous pouvez remettre la fréquence de vérification du cache à sa valeur d'origine (la valeur par défaut est "Quand la page est périmée", mais je vais choisir "Une fois par session" pour que ce scénario exact soit géré sans mon intervention).

44voto

Boris Zbarsky Points 22158

301 est simplement un code de réponse normal pouvant être mis en cache. http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.2 dit :

This response is cacheable unless indicated otherwise. 

Donc, si vous ne voulez pas qu'il soit mis en cache, votre serveur doit indiquer le contraire par le biais des en-têtes normaux utilisés pour contrôler le comportement du cache.

Vous pouvez également vider le cache manuellement .

7 votes

Je pense qu'il serait plus simple d'utiliser un 302 à la place, qui n'est pas cachable par défaut.

22 votes

@Boris Zbarsky : La question n'est-elle pas plutôt "Comment puis-je vider le cache" plutôt que "Comment puis-je empêcher l'écriture dans le cache de se produire en premier lieu" ?

4 votes

La question m'a semblé être "Comment faire pour ne pas avoir à vider le cache" !

25voto

Je viens de rencontrer ce problème, et pour moi, il s'agissait de deux problèmes.

Ce nom de domaine particulier est acheminé par Cloudflare, j'ai donc dû le configurer en mode développement. Je pense que Cloudflare mettait en cache la redirection 301 pour ne pas avoir à envoyer la requête au serveur. Cette étape peut évidemment ne pas s'appliquer à vous.

Ensuite, j'ai simplement vidé le cache de mon Firefox (version 11) en allant dans Outils -> Options, en cliquant sur le bouton Avancé en haut à droite, en sélectionnant l'onglet Réseau, puis en cliquant sur Effacer maintenant dans la section Contenu Web en cache. Notez que mon cache était déjà réglé sur 0, mais que j'ai quand même dû cliquer sur le bouton Clear Now pour que la redirection cesse d'être mise en cache.

Je serais intéressé de savoir si quelqu'un d'autre peut le vérifier.

2 votes

+1. Votre remarque sur l'effacement du cache de Firefox a résolu le problème pour moi (en tant qu'utilisateur/client, pas en tant que propriétaire du site) pour une URL particulière où Firefox ne détectait pas la mise à jour d'une 301. Merci.

1 votes

Vous pouvez supprimer uniquement la redirection en cache avec ce plugin Firefox : addons.mozilla.org/fen-us/firefox/addon/cacheviewer-continued

9voto

Malvineous Points 2416

J'ai trouvé une solution pour cela qui fonctionne sur Firefox 26, après avoir eu une redirection obsolète mise en cache pendant plus d'un mois et un redémarrage.

  1. Dans le menu Historique, choisissez Afficher tout l'historique.
  2. Dans la recherche, saisissez le domaine présentant le problème de redirection en cache pour faire apparaître une liste de résultats.
  3. Faites un clic droit sur l'un d'entre eux et choisissez "Oublier ce site".

Toutes les pages, images et redirections mises en cache pour seulement ce site sera supprimée du cache. Cela vous permet de supprimer la redirection pour votre site de développement sans vider le reste de votre cache.

Par ailleurs, je pense que Firefox ne devrait mettre en cache les redirections que pendant quelques jours au maximum. Les mettre en cache pendant plus d'un mois peut transformer une simple erreur en un gros problème.

2 votes

Cela fonctionne, mais notez que "Oublier ce site" oubliera également l'historique des URL (pour l'autocomplétion) et même les mots de passe enregistrés pour l'ensemble du domaine. Ce n'est peut-être pas ce que vous voulez.

5voto

Costa Points 1014

Une solution rapide consiste à utiliser une fenêtre de navigation privée.

1 votes

C'est ma solution rapide, et parfois, le simple fait d'ajouter un point d'interrogation à la fin de l'URL peut faire l'affaire.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X