490 votes

Comment faire pour que Chrome cesse de mettre en cache les redirections ?

Je travaille sur une application web qui utilise redirects (pour de jolies URL).

J'essaie de déboguer la logique dans la façon dont les redirections fonctionnent. Cependant, Google Chrome continue à se souvenir des redirections et, même après avoir modifié le code, redirige de la même façon.

Cela rend le dépannage très difficile.

Par exemple, si je redirige /this a /that puis changer mon code pour ne PAS rediriger /this plus. Google Chrome redirige toujours vers /that . Comme si la redirection était mise en cache ou quelque chose comme ça. Y a-t-il un moyen de désactiver cette fonction ?

0 votes

Cela se produit-il toujours lorsque vous redémarrez ? Cela devrait s'arrêter après avoir redémarré avec une nouvelle session.

1 votes

@random, le redémarrage de chrome semble le réparer. Cependant, j'ai généralement beaucoup de fenêtres ouvertes (par exemple : documents, connexions de base de données, didacticiels, la page sur laquelle je travaille, etc.) Si je suis en train de dépanner quelque chose, cela peut prendre plusieurs essais avant de comprendre ce qui se passe. Je ne trouverais pas idéal de devoir fermer toutes mes fenêtres. Merci.

2 votes

Solution de rechange : Utilisez des redirections 302 (temporaires) pendant les tests, et passez aux 301 (permanentes) lorsque vous avez terminé. (Avertissement : Certains navigateurs (Firefox) mettent en cache même les redirections 302 lorsqu'ils passent de la version http à la version https de la même page).

363voto

Brett Veenstra Points 10238

Google Chrome va cachez vos redirections 301 . Pour contourner ce problème et garder les onglets ouverts, il vous suffit de vider le cache de votre navigateur.

Menu Chrome Chrome Menu > Paramètres > Afficher les paramètres avancés... > Confidentialité > Cliquez Effacer les données de navigation...

Quel que soit le choix que vous faites, assurez-vous que l'option "Images et fichiers en cache" est cochée.

Cliquez ensuite sur Effacer les données de navigation et vous devriez pouvoir refaire le test.

Si vous venez de suivre la redirection, il vous suffit de supprimer les données de la dernière heure.

Vous pouvez également tester et développer en mode incognito. Dans ce mode, la mémoire cache est vidée après la fermeture du navigateur.

1 votes

Si vous utilisez le mode incognito, il est inutile de fermer le navigateur. Il suffit de fermer tous les onglets incognito.

3 votes

Dernière version de chrome, cette option serait "Images et fichiers en cache" au lieu de "Vider le cache".

31 votes

Je continue à être redirigé, même en mode incognito.

221voto

Gaia Points 6086

Voici le moyen le plus sûr d'effacer la mémoire collante de Chrome pour les redirections sans effacer toutes vos données de navigation. (méthode utilisée par la meilleure réponse actuelle) :

  1. Ouvrez le Outils pour les développeurs panneau ( optioncommandi sur Mac, ou ctrlshifti sur Windows)

  2. Cliquez et maintenez l'icône de rechargement enter image description here

  3. Un menu s'ouvre

    enter image description here

  4. Choisissez la 3ème option de ce menu ("Empty Cache and Hard Reload").

Voici une excellente explication de comment ces 3 options diffèrent .

PS : Pour éviter d'avoir à effectuer ces étapes à chaque fois que la redirection est suivie par Chrome : cochez la case "désactiver le cache" dans DevTools, et pendant que DevTools est ouvert, Chrome contournera le cache de la redirection (selon la procédure suivante). cette réponse )

2 votes

Soit dit en passant, cette fonction n'est pas disponible sur un Mac.

8 votes

Cela ne supprime pas toujours les redirections mises en cache

0 votes

@Claudiu quel type de redirection ne supprime pas ? Vous avez essayé la troisième option, n'est-ce pas ?

129voto

sradack Points 1381

Ce n'est pas une solution parfaite, mais j'ai pu empêcher Chrome d'utiliser la redirection en cache en passant une fausse chaîne de requête, ou en ajoutant un faux paramètre à la chaîne de requête existante. Par exemple, en ajoutant un simple ? à la fin d'une URL qui n'avait pas de chaîne de requête a fonctionné pour moi sur Chrome 30 sous Max OS X.

10 votes

Yep, ça marche. example.com devient example.com? . C'est le plus facile du lot.

3 votes

C'est une astuce géniale. Je suppose que vous pouvez l'utiliser indéfiniment ?abc , ?abc2 etc...

2 votes

Ça n'a pas marché pour moi. Même en utilisant un port différent (:8080), il est passé à https, ce qui semble être un bug de Chrome.

96voto

Ian Nelson Points 20020

Il y a un "wontfix" bug de Chromium à ce sujet ,

C'est le comportement attendu.

Notez que :

  1. Vous pouvez ajouter des en-têtes de contrôle du cache à une 301 et nous les suivrons (expiration, etc.).
  2. Si la ressource en question est une sous-ressource, le rechargement de la page entraînera la revalidation de la redirection auprès du serveur.
  3. Vous n'avez pas besoin de perdre tout votre cache. Suivez simplement la redirection et supprimez la dernière heure.

0 votes

Que signifie "supprimer la dernière heure." ? Comment le faire ?

1 votes

@MikaëlMayer Lorsque vous cliquez sur "Historique > Effacer les données de navigation", vous pouvez sélectionner une période de temps pour supprimer les données ("la dernière heure", "la dernière semaine", etc.).

0 votes

Non.. ! L'effacement des données de navigation d'un site no supprimer le comportement de la redirection 301. Pas dans Chromium 64.0.x en tout cas.

75voto

Mike Gossmann Points 871

Si l'option "Disable cache (while DevTools is open)" est activée dans DevTools, le simple fait d'avoir DevTools ouvert suffit à contourner le cache de redirection, sans jeter constamment votre session.

9 votes

Remarque : si devTools est ouvert, il existe un moyen rapide de supprimer le cache : cliquez sur le bouton d'actualisation avec le bouton droit de la souris et choisissez le rechargement complet. ;)

6 votes

Cela ne fonctionne pas tout le temps. J'ai supprimé tout mon cache et je continue à rediriger. Ce n'est qu'avec le mode incognito que cela fonctionne et que vous obtenez un comportement cohérent.

2 votes

Pourquoi n'est-ce pas la meilleure solution ? Les autres sont affreuses en comparaison !

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X