Question Comment puis-je faire en sorte que Chrome arrête de mettre en cache les redirections?


Je travaille sur une application Web qui utilise redirects (pour les jolies URL).

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

Cela rend très difficile le dépannage.

Par exemple si je redirige /this à /that, puis changez mon code pour ne pas rediriger /this plus Google Chrome continue à rediriger vers /that. Comme la redirection est mise en cache ou quelque chose. Est-il possible de désactiver cette option?


367
2018-06-30 17:05


origine


Est-ce que cela arrive quand vous redémarrez? Il devrait s'arrêter après avoir redémarré avec une nouvelle session - random♦
@random, le redémarrage de chrome semble corriger le problème. Cependant, j'ai généralement beaucoup de fenêtres ouvertes (c.-à-d. Documents, connexions à la base de données, didacticiels, page sur laquelle je travaille, etc.). Je ne considérerais pas vraiment l'idéal de devoir continuer à fermer toutes mes fenêtres. Merci. - JD Isaacks
Solution: utilisez les redirections 302 (temporaires) pendant le test et passez à 301 (permanent) lorsque vous avez terminé. (Attention: certains navigateurs (Firefox) mettront en cache même les redirections 302 lorsqu'ils passent de la version http à la version https de la même page.) - TRiG
Entrer dans un nouveau www.mywebsite/?someparam=somevalue travaille pour moi - Mustafa
@JDIsaacks vous pouvez utiliser un Chrome exclusivement pour le débogage (c'est-à-dire Chrome Canary) - athosbr99


Réponses:


Google Chrome sera cache tes redirections 301. Pour contourner ce problème et pour 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 sur Effacer les données de navigation ...

Quoi que vous choisissiez, assurez-vous que l'option "Images et fichiers mis en cache" est une option cochée.

Puis clique 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 l'heure passée.

Alternativement, testez et développez en mode incognito. Là, le cache est vidé après la fermeture du navigateur.


301
2018-06-30 17:29



Dernière version de chrome, cette option serait "images et fichiers en cache" au lieu de "vider le cache" - Dan R
Je continue à être redirigé, même en mode incognito. - Gaia
@ Gaia oui, cela semble être un problème dans Chrome incognito. Si vous testez, vous pouvez utiliser Firefox pour cela. La navigation privée Firefox fonctionne très bien :) - chhantyal
Notez que HTTP 301 est Déplacé en permanence la mise en cache de la réponse est donc parfaitement autorisée. Si vous ne souhaitez pas que la réponse soit mise en cache, essayez 302 ou 307. en.wikipedia.org/wiki/List_of_HTTP_status_codes#3xx_Redirection - Michael Kjörling
Le raccourci clavier pour cela est Ctrl + Shift + Delete. - 0xcaff


C'est le moyen le plus sûr d'effacer la mémoire persistante de Chrome pour les redirections sans effacer toutes vos données de navigation. (par réponse ci-dessus):

  1. Ouvrez le Outils de développement panneau (optioncommanderje sur Mac, ou ctrldécalageje sous Windows)

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

  3. Un menu s'ouvrira

    enter image description here

  4. Choisissez la 3ème option dans ce menu ("Vider le cache et recharger dur")

PS: Pour éviter de devoir suivre ces étapes à chaque fois que Chrome est redirigé: cochez la case Désactiver le cache dans DevTools, et alors que DevTools est ouvert, Chrome contournera le cache de redirection (par cette réponse)


128
2018-01-26 18:12



En aparté: ce n'est pas disponible sur un Mac. - Arjan
cela ne supprime pas toujours les redirections en cache - Claudiu Creanga
Il est disponible sur Mac, mais le menu n'est disponible que si les outils de développement sont ouverts. Je suppose que cela pourrait être la même chose sous Windows. - Percy
@Arjan il est disponible sur Mac voir superuser.com/questions/304589/ - Gaia
Mac OS X, Yosemite. Combattre avec une redirection permanente http à https, seule cette option a fonctionné. Tous les autres, y compris le "Disable cache (pendant que DevTools est ouvert)", ne font aucune différence. - Carles Sala


Ce n'est pas une solution parfaite, mais j'ai pu empêcher Chrome d'utiliser la redirection mise en cache en transmettant une chaîne de requête erronée ou en ajoutant un paramètre faux à la chaîne de requête existante. Par exemple, ajouter un simple ? à la fin d'une URL n'ayant pas de chaîne de requête q travaillée pour moi sur Chrome 30 sur Max OS X.


107
2017-10-16 06:10



Oui, ça marche. example.com devient example.com?. C'est le plus facile du groupe - bfred.it
C'est un truc génial. Je suppose que vous pouvez l'utiliser indéfiniment ?abc, ?abc2 etc... - brentonstrine
Cela n'a pas fonctionné pour moi. Même en utilisant un autre port (: 8080), il est devenu https, qui ressemble à un bogue Chrome. - jwadsack
Je fais déjà la même chose, mais ça ne marche pas toujours, parfois j'ai besoin d'appuyer sur Ctrl + Maj + R (Ctrl + F5) pour obtenir la nouvelle version de la page Web, ou des pages partielles incluses dans la page - M98
S'il y a un joker caché 301, cela risque de ne pas fonctionner depuis son "rappel" pour tout transférer après le TLD. - dhaupin


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

C'est le comportement attendu.

Notez que:

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

90
2017-10-09 07:16



Qu'est-ce que "supprimer la dernière heure?" veux dire? Comment faire? - Mikaël Mayer
@ MikaëlMayer Lorsque vous cliquez sur "Historique> Effacer les données de navigation", vous pouvez sélectionner une période pour supprimer des données ("l'heure passée", "la semaine passée", etc.) - dbr
Non..! L’effacement des données de navigation d’un site ne pas Supprimez le comportement de redirection 301. Pas dans le chrome 64.0.x de toute façon - patricktokeeffe
Effacer "1 heure" vous permet de vous déconnecter de tous les produits et comptes Google. Quel bon conseil ... - Luciano Fantuzzi
> Vous n'avez pas à perdre la totalité de votre cache. Suivez simplement la redirection et supprimez la dernière heure. C'est encore pire que "supprimer la dernière redirection", qui est la fonctionnalité qu'ils ont corrigée. - rox0r


Si vous avez l'option "Désactiver le cache (alors que DevTools est ouvert)" activée dans les DevTools, alors il suffit que l'ouverture des DevTools soit suffisante pour contourner le cache de redirection, sans perdre constamment votre session.


63
2018-02-27 15:14



note: si devTools est ouvert, il existe un moyen rapide de supprimer le cache: cliquez sur le bouton Actualiser avec un clic droit et choisissez le rechargement complet ;) - user65130
Cela ne fonctionne pas tout le temps. J'ai supprimé tout mon cache et encore redirigé. Seulement avec le mode incognito cela fonctionne et vous obtenez un comportement cohérent - Claudiu Creanga
Pourquoi n'est-ce pas la meilleure solution? les autres sont terribles en comparaison! - Brian
Ne fonctionne plus ... Probablement travaillé en 2014 - Lord Loh.
@ LordLoh. Je viens de l'essayer sur la dernière version de Chrome, et cela a fonctionné exactement comme prévu. Avec les devtools fermés, la redirection est mise en cache. Le rechargement de la page avec les outils ouverts ne redirige pas. - Mike Gossmann


Chrome met en cache les redirections HTTP et arrête de vérifier avec le site si la redirection a changé. Cela peut être frustrant, car la façon la plus simple de réparer (visiter le site et forcer un rafraîchissement) ne peut pas être utilisée car la redirection se produira avant que vous n'accédiez au lien. C'est un ne résoudra pas le problème.

Pour résoudre ce problème, vous pouvez effacer vos données de navigation, comme expliqué ici ou vous pouvez suivre les étapes ci-dessous et éviter de perdre votre historique.

  1. Ouvrez les outils de développement Chrome dev-tools

  2. Cliquez dans les paramètres settings

  3. Vérifier Désactiver le cache (pendant que DevTools est ouvert) disable

  4. Visitez le site que vous avez voulu et le problème de cache sera résolu.


18
2018-06-06 21:06



Vous trouverez également l'option "désactiver le cache" sur l'onglet réseau, c'est la même option. Pour le débogage des redirections, je vous suggère d’utiliser également le fichier de consignation. - Trendfischer


Allez dans chrome: // net-internals et à droite, ouvrez le menu déroulant et choisissez "Effacer le cache". A partir de la version 48, c'était la seule chose qui fonctionnait pour effacer un 301 (redirection permanente) mis en cache.


14
2018-01-29 20:30



Fonctionne sur Chrome 56 - spencer.sm
Cela a fonctionné pour moi merci - David Van De Meer


Pour effacer le cache de redirection pour une seule page dans Chrome, Voir la source et faire un rafraîchissement (CTRL + SHIFT + R).

Cela fonctionne car le navigateur source ne suit pas automatiquement les redirections 301.


7
2018-03-17 03:39



N'a pas travaillé pour moi dans Chrome 25 - swrobel
Cela ne fonctionne pas si la redirection est pour tout pages. J'ai un www. -> non www. redirect - donc la redirection est sur le premier coup, donc je ne peux rien rafraîchir. Chaque fois que j'essaie d'aller sur la page pour la rafraîchir, le 301 suit - alors c'est trop tard! - Ian Grainger
@Ian Que se passe-t-il si vous tapez dans la barre d'adresse source-vue: www.exemple.com? Est-ce que cela vous permet de vous rafraîchir sans être redirigé? - Matthew Blackford
@MatthewBlackford AFAICT la même chose, j'ai en fait la source de la page redirigée. Je ne suis pas sûr que mon test soit aussi génial que TBH. J'ai supprimé l'historique de navigation pour résoudre ce problème. - Ian Grainger
Cela ne fonctionne que pour les redirections javascript et metatag. Les redirections HTTP sont toujours suivies - bfred.it


Comme décrit ici pourrait être causé par HSTS

Pour contourner cela, j'ai fait ce qui suit.

Dans la barre d’adresse Chrome, tapez "chrome: // net-internals / # hsts"   tout en bas de la page est la zone de texte du domaine QUERY - vérifiez que votre site (localhost par exemple)   est connu du navigateur Si tel est le cas, SUPPRIMER le domaine localhost en utilisant   la zone de texte ci-dessus Votre site devrait maintenant fonctionner en utilisant HTTP


6
2018-03-19 13:09



Hey, merci. Cela aide vraiment avec le cache de redirections https soudain. - Ruberoid


Les domaines .dev sont obligés d'utiliser HTTPS sur Chrome 63+

Depuis Chrome 63, sorti en décembre 2017, tous les domaines se terminant par .dev (et .foo) sont obligés d'utiliser HTTPS via un en-tête HTTP Strict Transport Security préchargé.

Plus à ce sujet ici: https://ma.ttias.be/chrome-force-dev-domains-https-via-preloaded-hsts/


5
2017-12-12 13:06



C'était mon coupable à coup sûr! Je passe des heures à essayer de comprendre ce qui se passait. Merci d'avoir posté ceci! - Jabari
Cette réponse nécessite plus de votes. Ce n'est peut-être pas le problème que le questionneur a eu mais ce sera pour beaucoup de développeurs qui trouveront cette réponse dans leurs résultats de recherche. - bp.


Si vous voulez simplement vérifier que les redirections fonctionnent comme prévu, il est probablement plus facile d’utiliser un outil de ligne de commande comme wget ou similaire. Vous pouvez inspecter les en-têtes de réponse et les redirections ne sont pas mises en cache.


4
2018-04-10 19:29