it-swarm.com.de

Wie kann ich verhindern, dass Chrome Weiterleitungen zwischenspeichert?

Ich arbeite an einer Webanwendung, die redirects verwendet (für hübsche URLs).

Ich versuche, die Logik so zu debuggen, wie die Weiterleitungen funktionieren. Google Chrome merkt sich jedoch weiterhin die Weiterleitungen und leitet sie auf dieselbe Weise weiter, nachdem ich den Code geändert habe.

Dies erschwert die Fehlerbehebung erheblich.

Wenn ich beispielsweise /this zu /that umleite, ändern Sie meinen Code in NOT redirect /this more. Google Chrome leitet immer noch zu /that weiter. Als ob die Weiterleitung zwischengespeichert wird oder so. Gibt es eine Möglichkeit, dies auszuschalten?

400
JD Isaacks

Google Chrome wird Ihre 301-Weiterleitungen zwischenspeichern . Um dies zu umgehen und die Registerkarten offen zu halten, müssen Sie lediglich den Browser-Cache leeren.

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

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

Klicken Sie dann auf Browserdaten löschen und Sie sollten erneut testen können.

Wenn Sie gerade der Umleitung 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 nach dem Schließen des Browsers geleert.

318
random

Dies ist der sichere Weg, um den Sticky Memory von Chrome für Weiterleitungen zu löschen, ohne alle Ihre Browserdaten zu löschen (Methode, die von der aktuellen Top-Antwort verwendet wird):

  1. Öffnen Sie das Bedienfeld Entwicklertools (optioncommandi auf Mac oder ctrlshifti unter Windows)

  2. Klicken und halten Sie das Symbol zum erneuten Laden enter image description here

  3. Ein Menü wird geöffnet

    enter image description here

  4. Wählen Sie die 3. Option aus diesem Menü ("Cache leeren und neu laden")

Hier ist eine hervorragende Erklärung für wie sich diese 3 Optionen unterscheiden .

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

144
Gaia

Es ist keine perfekte Lösung, aber ich konnte Chrome daran hindern, die zwischengespeicherte Weiterleitung zu verwenden, indem ich eine falsche Abfragezeichenfolge übergab oder der vorhandenen Abfragezeichenfolge einen falschen Parameter hinzufügte. Beispiel: Das Hinzufügen eines einfachen ? am Ende einer URL, für die unter Max OS X in Chrome 30 keine q-Abfragezeichenfolge vorhanden war.

112
sradack

Es gibt einen "Wontfix" Chromium Bug über diese ,

Das ist das erwartete Verhalten.

Beachten Sie, dass:

  1. Sie können einem 301 Cache-Steuerelement-Header hinzufügen, und wir werden ihnen folgen (Ablauf usw.).
  2. Wenn es sich bei der fraglichen Ressource um eine Subressource handelt, wird beim erneuten Laden der Seite die Umleitung auf dem Server erneut überprüft.
  3. Sie müssen nicht den gesamten Cache verlieren. Folgen Sie einfach der Umleitung und löschen Sie die letzte Stunde.
90
dbr

Wenn Sie die Option "Cache deaktivieren (während DevTools geöffnet ist)" in den DevTools aktiviert haben, reicht das einfache Öffnen der DevTools aus, um den Umleitungscache zu umgehen, ohne Ihre Sitzung ständig zu verwerfen.

66
Mike Gossmann

Chrome speichert HTTP-Weiterleitungen im Cache und beendet die Überprüfung der Website, ob sich die Weiterleitung geändert hat. Dies kann frustierend sein, da die einfachste Möglichkeit zur Fehlerbehebung (Besuch der Website und Erzwingen einer harten Aktualisierung) nicht verwendet werden kann, da die Umleitung erfolgt, bevor Sie auf den Link zugreifen. Dies ist ein Problem wird nicht behoben .

Um dies zu umgehen, können Sie Ihre Browserdaten löschen (siehe hier ) oder die folgenden Schritte ausführen, um den Verlust Ihres Verlaufs zu vermeiden.

  1. Öffnen Sie die Chrome Developer Tools dev-tools

  2. Klicken Sie in Einstellungen settings

  3. Check Cache deaktivieren (während DevTools geöffnet ist)  disable

  4. Besuchen Sie die gewünschte Site und das Cache-Problem wird behoben.

20
Zanon

Gehen Sie zu chrome: // net-internals und öffnen Sie ganz rechts das Dropdown-Menü und wählen Sie "Cache löschen". Ab Version 48 war dies das einzige, was mir beim Löschen eines zwischengespeicherten 301 (permanente Umleitung) geholfen hat.

Update: Leider hat Google ab Version 71 (Dezember 2018) die Funktion für Interna-Netze entfernt.

15
McGuireV10

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

Seit Chrome 63 (Dezember 2017) sind alle Domains, die auf .dev (und .foo) enden, gezwungen, HTTPS über einen vorinstallierten HTTP Strict Transport Security (HSTS) -Header zu verwenden.

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

7

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

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

7

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/# hsts" ein. Ganz unten auf einer Seite befindet sich das Textfeld QUERY domain. Vergewissern Sie sich, dass Ihre Site (z. B. localhost) dem Browser bekannt ist. Wenn dies der Fall ist, löschen Sie den localhost Domain über das Textfeld oben Ihre Site sollte jetzt mit normalem altem HTTP funktionieren

6
Tonino

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 Weiterleitungen werden nicht zwischengespeichert.

4
Tom Wilson

In Chrome oder Firefox können Sie die Umleitung aktualisieren, indem Sie "view-source: redirect.yoursite.com" eingeben und die Eingabetaste drücken. Aktualisieren Sie dann diese Seite. Nun sollte Chrome oder Firefox gezwungen werden, die Weiterleitung zu aktualisieren.

4
mrbofus

Zu Entwicklungszwecken empfehle ich Ihnen, in Chrome die DevTools-Einstellungen zu öffnen und "Cache deaktivieren" zu aktivieren. Dann werden 30x Weiterleitungen nicht zwischengespeichert und Sie können .htaccess-Dateien und so weiter debuggen!  enter image description here

3
lukyer

einfachste Methode, harte Aktualisierung. Halten Sie Ctrl + R einige Sekunden lang gedrückt. Dies löscht sowohl Umleitungen als auch statische Ressourcen.

1
Ryu_hayabusa
  1. Gehe zu chrome://settings/search#clear%20browsing%20data

  2. Klicken Sie auf "Browserdaten löschen".

  3. Aktivieren Sie "Zwischengespeicherte Bilder und Dateien" (und deaktivieren Sie den Rest, wenn Sie möchten)

  4. Klicken Sie auf "Browserdaten löschen".

enter image description here

1
guaka

Wenn Sie nicht den gesamten Cache verlieren möchten und Ihre Umleitung immer noch im Cache steckt, können Sie versuchen, die View-Source: -Version der URL aufzurufen. Das hat den Redirect-Cache der gleichen URL für mich aktualisiert.

0
Ogier Schelvis

Ich habe alle Antworten auf dieser Seite ausprobiert, aber keine funktionierte, bis ich Flushdns auf der Windows-Befehlszeile ausgeführt habe.

C:\Users\DBashyal>ipconfig /flushdns

Windows IP Configuration    
Successfully flushed the DNS Resolver Cache.

Zu Ihrer Information, ich hatte Disable cache bereits überprüft, wie in this answer erwähnt.

0
Damodar Bashyal