Frage Wie kann ich Chrome dazu bringen, die Weiterleitung von Caches zu stoppen?


Ich arbeite an einer Webanwendung, die verwendet wird redirects (für schöne URLs).

Ich versuche, die Logik so zu debuggen, wie die Weiterleitungen funktionieren. Google Chrome erinnert sich jedoch immer noch an die Weiterleitungen und auch nachdem ich den Code geändert habe, werde ich auf die gleiche Weise weitergeleitet.

Dies macht es sehr schwierig zu beheben.

Zum Beispiel wenn ich umadressiere /this zu /that, dann ändere meinen Code in NOT redirect /this nicht mehr. Google Chrome leitet immer noch zu /that. Wie die Weiterleitung ist im Cache oder etwas. Gibt es eine Möglichkeit, das auszuschalten?


367
2018-06-30 17:05


Ursprung


Tritt das immer noch beim Neustart auf? Es sollte aufhören, nachdem Sie mit einer neuen Sitzung neu gestartet haben - random♦
@random, Chrome neu starten scheint es zu beheben. Allerdings habe ich normalerweise viele Fenster geöffnet (zB: docs, db-verbindungen, Tutorials, die Seite, an der ich gerade arbeite, etc.). Wenn ich etwas teste, kann es mehrere Versuche dauern, bevor ich herausfinden kann, was los ist. Ich halte es nicht für ideal, alle meine Fenster schließen zu müssen. Vielen Dank. - JD Isaacks
Problemumgehung: Verwenden Sie beim Testen 302 (temporäre) Weiterleitungen, und wechseln Sie nach Abschluss auf 301 (permanent). (Achtung: Einige Browser (Firefox) cachen sogar 302 Weiterleitungen, wenn sie von http zu https-Versionen derselben Seite wechseln.) - TRiG
Ein neues eingeben www.mywebsite/?someparam=somevalue funktioniert bei mir - Mustafa
@JDIsacks Sie könnten Chrome ausschließlich zum Debuggen verwenden (d. H. Chrome Canary) - athosbr99


Antworten:


Google Chrome wird Cache deine 301 Redirects. Um dies zu umgehen und die Tabs offen zu halten, müssen Sie nur Ihren Browser-Cache leeren.

Chrome-Menü Chrome Menu > Einstellungen> Erweiterte Einstellungen anzeigen ...> Datenschutz> Klicken Sie auf Browserdaten löschen...

Was auch immer Sie auswählen, stellen Sie sicher, dass "Zwischengespeicherte Bilder und Dateien" aktiviert ist.

Dann klick Browserdaten löschen und Sie sollten in der Lage sein, erneut zu testen.

Wenn Sie der Umleitung gerade gefolgt sind, müssen Sie nur Daten aus der letzten Stunde löschen.

Alternativ können Sie im Inkognito-Modus testen und entwickeln. Dort wird der Cache gelöscht, nachdem der Browser geschlossen wurde.


301
2018-06-30 17:29



Neueste Version von Chrome, diese Option wäre "Zwischengespeicherte Bilder und Dateien" anstelle von "Leeren Sie den Cache" - Dan R
Ich werde immer weiter geleitet, sogar im Inkognito-Modus. - Gaia
@Gaia ja, das scheint in Chrome inkognito Problem zu sein. Wenn Sie nur testen, möchten Sie vielleicht Firefox dafür verwenden. Firefox privates Surfen funktioniert gut :) - chhantyal
Beachten Sie, dass HTTP 301 ist dauerhaft umgezogen Daher ist das Cachen der Antwort absolut erlaubt. Wenn Sie nicht möchten, dass die Antwort zwischengespeichert wird, versuchen Sie 302 oder 307. de.wikipedia.org/wiki/List_of_HTTP_status_codes#3xx_Redirection - Michael Kjörling
Die Tastenkombination dafür ist Ctrl + Shift + Delete. - 0xcaff


Dies ist der sicherste Weg, den Sticky-Speicher von Chrome für Weiterleitungen zu löschen, ohne alle Browserdaten zu löschen (pro Antwort oben):

  1. Öffne das Entwicklerwerkzeuge Panel (MöglichkeitBefehlich auf Mac, oder StrgVerschiebungich unter Windows)

  2. Klicken Sie auf das Symbol zum erneuten Laden und halten Sie es gedrückt enter image description here

  3. Ein Menü wird geöffnet

    enter image description here

  4. Wählen Sie die dritte Option aus diesem Menü ("Cache leer und Hard Reload")

PS: Um zu vermeiden, dass diese Schritte jedes Mal ausgeführt werden müssen, wenn die Weiterleitung von Chrome gefolgt wird: Aktivieren Sie den Cache in DevTools deaktivieren, und während DevTools geöffnet ist, wird Chrome den Redirect Cache umgehen (per diese Antwort)


128
2018-01-26 18:12



Nebenbei: Dies ist auf einem Mac nicht verfügbar. - Arjan
Dies löscht nicht immer zwischengespeicherte Weiterleitungen - Claudiu Creanga
Es ist auf dem Mac verfügbar, aber das Menü ist nur verfügbar, wenn Sie die Dev-Tools geöffnet haben. Ich nehme an, dass dies unter Windows gleich ist. - Percy
@Arjan ist es auf einem Mac zu sehen superuser.com/questions/304589/ ... - Gaia
Mac OS X, Yosemite. Kämpfen mit einem http zu https permanenter Weiterleitung, nur diese Option funktionierte. Alle anderen, einschließlich des "Cache deaktivieren (während DevTools geöffnet ist)", machten keinen Unterschied. - Carles Sala


Es ist keine perfekte Lösung, aber ich konnte verhindern, dass Chrome die zwischengespeicherte Weiterleitung verwendet, indem eine falsche Abfragezeichenfolge übergeben oder ein falscher Parameter zur vorhandenen Abfragezeichenfolge hinzugefügt wird. Zum Beispiel ein einfaches hinzufügen ? Bis zum Ende einer URL, die keine Q-Abfrage-Zeichenfolge hatte, arbeitete ich für Chrome 30 unter Max OS X.


107
2017-10-16 06:10



Ja, das funktioniert. example.com wird example.com?. Es ist das Einfachste von dem Haufen - bfred.it
Das ist ein toller Trick. Ich nehme an, du kannst das unbegrenzt benutzen ?abc, ?abc2 etc... - brentonstrine
Das hat nicht für mich funktioniert. Selbst wenn Sie einen anderen Port (: 8080) verwenden, ändert sich der Name in https, was wie ein Chrome-Bug aussieht. - jwadsack
Ich mache bereits dasselbe, aber es funktioniert nicht immer, manchmal muss ich Strg + Umschalt + r (Strg + F5) drücken, um die neuere Version der Webseite oder Teilseiten innerhalb der Seite zu erhalten - M98
Wenn ein Wildcard-Cache 301 im Cache ist, funktioniert dies möglicherweise nicht, da er sich "erinnert", um alles nach der TLD weiterzuleiten. - dhaupin


Da ist ein "Wontfix" Chrom Bug darüber,

Das ist das erwartete Verhalten.

Beachten Sie, dass:

  1. Sie können Cache Control Header zu einem 301 hinzufügen und wir werden ihnen folgen (Ablauf usw.)
  2. Wenn es sich bei der fraglichen Ressource um eine Unterressourcen handelt, wird beim erneuten Laden der Seite die Weiterleitung erneut beim Server überprüft.
  3. Sie müssen nicht Ihren gesamten Cache verlieren. Folge einfach der Weiterleitung und lösche die letzte Stunde.

90
2017-10-09 07:16



Was "löscht die letzte Stunde" meint? Wie es geht? - Mikaël Mayer
@ MikaëlMayer Wenn Sie auf "Verlauf> Browserdaten löschen" klicken, können Sie einen Zeitrahmen auswählen, um Daten zu entfernen ("die vergangene Stunde", "vergangene Woche" usw.) - dbr
Nein..! Browserdaten für eine Site löschen wird nicht Entfernen Sie das 301-Redirect-Verhalten. Nicht sowieso in Chromium 64.0.x - patricktokeeffe
Wenn Sie "1 Stunde" löschen, können Sie sich von allen Google-Produkten und -Konten abmelden. Was für ein guter Rat ... - Luciano Fantuzzi
> Sie müssen nicht Ihren gesamten Cache verlieren. Folge einfach der Weiterleitung und lösche die letzte Stunde. Das ist immer noch schlimmer als "lösche die letzte Weiterleitung", das ist die Funktion, die sie nicht fixiert haben. - rox0r


Wenn Sie in den DevTools die Option "Cache deaktivieren (während DevTools ist offen)" aktiviert haben, reicht es einfach, die DevTools geöffnet zu haben, um den Redirect-Cache zu umgehen, ohne ständig Ihre Sitzung zu verwerfen.


63
2018-02-27 15:14



Hinweis: Wenn devTools geöffnet ist, gibt es eine schnelle Möglichkeit, den Cache zu löschen: Klicken Sie mit der rechten Maustaste auf die Schaltfläche "Aktualisieren" und wählen Sie "Vollständiges Neuladen" ;) - user65130
Das funktioniert nicht immer. Ich habe alle meinen Cache gelöscht und immer noch umgeleitet. Nur mit Inkognito-Modus funktioniert es und Sie erhalten konsistentes Verhalten - Claudiu Creanga
Warum ist das nicht die beste Lösung? die anderen sind im Vergleich schrecklich! - Brian
Funktioniert nicht mehr ... Wahrscheinlich 2014 gearbeitet - Lord Loh.
@LordLoh. Ich habe es gerade mit der neuesten Version von Chrome ausprobiert und es hat genau so funktioniert wie erwartet. Wenn die Devtools geschlossen sind, wird die Umleitung zwischengespeichert. Das Neuladen der Seite mit geöffneten Werkzeugen wird nicht umgeleitet. - Mike Gossmann


Chrome puffert HTTP-Weiterleitungen und beendet die Überprüfung der Site, wenn sich die Weiterleitung geändert hat. Dies kann frustrierend sein, da der einfachste Weg zur Behebung (Besuch der Website und Erzwingen einer harten Aktualisierung) nicht verwendet werden kann, da die Weiterleitung vor dem Zugriff auf den Link erfolgt. Das ist ein wird das Problem nicht beheben.

Um dies zu umgehen, können Sie Ihre Browserdaten wie beschrieben löschen Hier oder Sie können die folgenden Schritte ausführen und vermeiden, Ihre Geschichte zu verlieren.

  1. Öffnen Sie die Chrome-Entwicklertools dev-tools

  2. Klicke auf Einstellungen settings

  3. Prüfen Cache deaktivieren (während DevTools geöffnet ist) disable

  4. Besuchen Sie die von Ihnen gewünschte Seite und das Cache-Problem wird gelöst.


18
2018-06-06 21:06



Sie finden die Option "Cache deaktivieren" auch auf der Registerkarte Netzwerk, es ist die gleiche Option. Für das Debuggen von Weiterleitungen würde ich empfehlen, auch das "preserve log" zu verwenden. - Trendfischer


Gehe zu chrome: // net-internals und ganz rechts öffne das Drop-down und wähle "Cache löschen". Ab Version 48 war dies die einzige Sache, die mir half, eine zwischengespeicherte 301 (permanente Umleitung) zu löschen.


14
2018-01-29 20:30



Funktioniert mit Chrome 56 - spencer.sm
Das hat für mich dankend funktioniert - David Van De Meer


Um den Redirect-Cache für eine einzelne Seite in Chrome zu löschen, Quelltext anzeigen und mache eine harte Aktualisierung (CTRL + SHIFT + R).

Dies funktioniert, da der Quellbrowser den 301-Weiterleitungen nicht automatisch folgt.


7
2018-03-17 03:39



Funktionierte in Chrome 25 nicht für mich - swrobel
Dies funktioniert nicht, wenn die Weiterleitung für alle Seiten. Ich habe ein www. -> nein www. Redirect - so ist die Weiterleitung beim ersten Treffer, also kann ich nichts auffrischen. Jedes Mal, wenn ich versuche, auf die Seite zu gehen, um sie zu aktualisieren, folgt die 301 - dann ist es zu spät! - Ian Grainger
@Ian Was ist, wenn Sie die Adressleiste eingeben: source: www.example.com? Können Sie aktualisieren, ohne dass es umgeleitet wird? - Matthew Blackford
@ MatthewBlackford AFAICT das gleiche, ich bekomme tatsächlich die Quelle der umgeleiteten Seite. Nicht sicher, mein Test war so toll, obwohl TBH. Ich habe den Browserverlauf gelöscht, um dieses Problem zu beheben. - Ian Grainger
Dies funktioniert nur für JavaScript- und Metatag-Weiterleitungen. HTTP-Weiterleitungen werden immer noch verfolgt - bfred.it


Wie beschrieben Hier könnte durch HSTS verursacht werden

Um das zu umgehen, habe ich Folgendes getan.

Geben Sie in der Chrome-Adressleiste "chrome: // net-internals / # stars" ein   Ganz unten auf der Seite befindet sich das Textfeld QUERY-Domain - verifizieren Sie, dass Ihre Site (localhost)   ist dem Browser bekannt Wenn ja, DELETE die localhost domain mit   Das Textfeld oberhalb Ihrer Website sollte jetzt mit normalem HTTP funktionieren


6
2018-03-19 13:09



Hey danke. Dies hilft wirklich bei plötzlichen https Redirects Cache. - Ruberoid


.dev-Domains müssen HTTPS in Chrome 63+ verwenden

Seit Chrome 63 (ab Dezember 2017) müssen alle Domänen, die auf .dev (und .foo) enden, HTTPS über einen vorinstallierten HTTP Strict Transport Security-Header (HSTS) verwenden.

Mehr dazu hier: https://ma.ttias.be/chrome-force-dev-domains-https-via-preloaded-hsts/


5
2017-12-12 13:06



Das war mein Schuldiger! Ich gebe STUNDEN aus, um herauszufinden, was zur Hölle los ist. Danke für das Posten! - Jabari
Diese Antwort benötigt mehr Stimmen. Es ist vielleicht nicht das Problem, das der Fragesteller hatte, aber es wird für viele Entwickler sein, die diese Antwort in ihren Suchergebnissen finden. - bp.


Wenn Sie nur überprüfen möchten, ob die Weiterleitungen wie erwartet funktionieren, ist es wahrscheinlich einfacher, ein Befehlszeilentool wie wget oder ähnliches zu verwenden. Sie können die Antwortheader überprüfen, und Redirects werden nicht zwischengespeichert.


4
2018-04-10 19:29