Frage zu Developer Tools und Bereich Netzwerk bzgl. nicht-sichtbarem "HTTP-->HTTPS"-Redirect

  • Firefox-Version
    Aktuelle Nightly von heute
    Betriebssystem
    Windows 10 + 11 64-Bit

    Hallo zusammen,

    ich untersuche die Response Header zu Websiteanfragen auf firmeninterne Websites, die eine HTTP-->HTTPS Umleitung via Status Code 301 bzw. 307 veranlassen. Dabei sind mir zwei Dinge aufgefallen, die ich gerne in der Runde erfragen wollte:

    1. Bei einem neuen Tab habe ich die Entwickleroptionen via F12 geöffnet und direkt den Bereich "Netzwerk" ausgewählt (noch keine Seite in diesem Tab vorher geöffnet). Gebe ich nun die URL in die URL-Leiste ein und drücke Enter, schließen sich die Entwickleroptionen und meine gewünschte Analyse in einem "jungfräulichen" Tab kann ich erst einmal vergessen. Wenn ich dann die Entwickleroptionen erneut öffne und eine URL eingebe und aufrufe, werden die Anfrage und alle Ressourcen im Bereich Netzwerk ganz normal geladen/angezeigt, wie ich es erwartet hätte. Kann jemand dieses Problem bei einem nigelnagelneuen Tab bestätigen? (Zusatzinfo: Für einen neuen Tab nutze ich das AddOn Tabliss.)

    2. Wenn ich die firmeninternen Websites mit dem serverseitig gesteuerten Redirect via Status Code 301/307 als HTTP-Seite aufrufe (mit geöffneten Entwickleroptionen), kann ich im FF den Redirect via 301/307 nicht sehen, sondern sehe als Erstes den Verbindungsversuch zur HTTPS-Variante (aber nix bzgl. Versuch auf HTTP-Variante und etwaige 301/307-Redirects). Den HTTPS-Only-Mode habe ich genauso ausgeschaltet wie das AddOn HTTPS-Everywhere, aber das Ergebnis ist das gleiche. In Chromium-basierten Browsern kann ich den Verbindungsversuch zur HTTP-Variante, dann den Redirect 301/307 und dann den Verbindungsaufbau zur HTTPS-Variante in Gänze nachvollziehen. Das Ganze geht dort übrigens auch z. B. bei http://www.google.de, http://maps.google.de, usw. Nur eben nicht in FF (oder nur für mich nicht ersichtlich). Mache ich hier irgendetwas falsch oder woran liegt das?

    Danke für eventuelle Antworten!

  • 1. Nein, weder Nightly noch Final. Teste doch selbst mit einem unbelasteten Profil.

    2. HTTP Statuscodes werden vom Server generiert, nicht vom Browser.

    Wenn Firefox direkt https abfragt statt http, weil so eingestellt, wirst du auch keine Umleitung sehen.

    Chrome hat keinen https-Modus, daher siehst du auch die Umleitungen, die vom Server generiert werden. Nicht gewusst?

    Wenn du weinen möchtest, bist du falsch hier. Hier gibt es nur Lösungen!
    Oh Herr, wirf Hirn, oder Steine - Hauptsache, du triffst endlich.
    Zu viele Goofies und Dulleks vom Dienst. Schlabokka!

  • Danke erst einmal für die Antwort.

    1. Das mit dem neuen Profil habe ich auch vorher bereits überlegt, aber bis dahin nicht die Zeit gehabt. Das habe ich jetzt nachgeholt. Dort konnte ich beim erstmaligen Aufruf einer der Webseiten den Redirect 301 sehen, allerdings nach Schließen des Browserfensters, Neu-Öffnen, usw. kam der Redirect 301 nicht mehr, also genauso wie in meinem Standardprofil. Als ich dann den Tab geschlossen und den Cache geleert habe, und danach das Ganze nochmal aufgerufen habe, kam der Redirect wieder.

    Was aber __weiterhin__ nicht funktioniert, ist, dass in einem neuen Tab mit geöffneten Entwickleroptionen diese offen bleiben, sobald ich eine URL aufrufe. Im "sauberen"/neuen Profil ist das der Fall. Jetzt muss ich wohl oder übel mal auf die Suche gehen, welches meiner AddOns so etwas fabriziert...

    2. Das mit den HTTP-Statuscodes ist mir klar. Firefox hat bei mir über verschiedene Wege eingestellt, die HTTPS-Variante anzufragen (und gar nicht erst die HTTP-Variante auszuprobieren). Das Interessante daran: Die Möglichkeiten eines "HTTPS-Upgrades" habe ich nach meinem Kenntnisstand allesamt für den Test ausgeschaltet (HTTPS-Only-Mode und HTTPS-Everywhere deaktiviert -- mehr wären mir derzeit nicht bekannt)...

  • Ich habe mittlerweile herausgefunden, dass ich den 301 Redirect nur bekomme, wenn ich die History lösche.

    Eine ausführlichere Suche ergab dann, dass sich Leute vielerleiorts darüber ausgetauscht haben, dass es wohl neben dem "normalen" Cache (den ich zwischendurch über about:config sowohl für die Platte als auch für den Speicher (Disk+RAM) deaktiviert hatte) auch noch einen "speziellen 301-Redirect-Cache" gibt.

    D.h. Firefox merkt sich in diesem Cache den 301-Redirect der von mir aufgerufenen Seite, selbst wenn ich Cache leere usw.

    Am einfachsten kann man den 301-Redirect-Eintrag wohl aus dem "speziellen 301-Redirect-Cache" löschen, in dem man über Historie --> Seite suchen --> Diese Seite vergessen (Forget about this site) auswählt. Das entfernt dann wohl auch den im speziellen Cache gespeicherten Eintrag für den 301-Redirect.

    Ach, und noch eins: Bei mir ist das "Temporary Containers"-AddOn dafür verantwortlich, dass die Entwickleroptionen sich schließen, sobald ich die erste URL aufrufe. Das liegt daran, dass im erstmaligen Aufruf einer Seite ein neuer temporärer Container erzeugt wird, und dabei werden die Entwickleroptionen geschlossen.

    Nur, falls das jemandem auch mal so gehen sollte.

    Danke für die Hilfe.

  • Hallo,

    Chrome hat keinen https-Modus, daher siehst du auch die Umleitungen, die vom Server generiert werden. Nicht gewusst?

    Hier muss man präzise sein. HTTPS kann Chrome auch. Firefox hat sowohl einen "HTTPS Only"- als auch einen "HTTPS First"-Modus, was du meinen könntest. Es ist nicht klar, worauf du dich beziehst, aber "HTTPS Only" hat der Themenersteller gar nicht aktiviert, wie er bereits schrieb, "HTTPS First" ist nur unter bestimmten Umständen aktiviert, siehe folgender Absatz.

    Die Möglichkeiten eines "HTTPS-Upgrades" habe ich nach meinem Kenntnisstand allesamt für den Test ausgeschaltet (HTTPS-Only-Mode und HTTPS-Everywhere deaktiviert -- mehr wären mir derzeit nicht bekannt)...

    Es gibt auch noch einen "HTTPS First"-Modus, der aber nur via about:config konfiguriert werden kann. Standardmäßig ist dieser in regulären Fenstern deaktiviert, in privaten Fenstern (oder wenn keine Chronik gespeichert wird), aktiviert. Möglicherweise hast du auch selbst in about:config mal was verstellt. In dem Fall kommt es natürlich auch zu keiner Weiterleitung, weil Firefox direkt HTTPS nutzt.

    Ich habe mittlerweile herausgefunden, dass ich den 301 Redirect nur bekomme, wenn ich die History lösche.

    Eine ausführlichere Suche ergab dann, dass sich Leute vielerleiorts darüber ausgetauscht haben, dass es wohl neben dem "normalen" Cache (den ich zwischendurch über about:config sowohl für die Platte als auch für den Speicher (Disk+RAM) deaktiviert hatte) auch noch einen "speziellen 301-Redirect-Cache" gibt.

    D.h. Firefox merkt sich in diesem Cache den 301-Redirect der von mir aufgerufenen Seite, selbst wenn ich Cache leere usw.

    Weiterleitungen werden gecacht, das ist richtig. Das hängt aber nicht mit der Chronik zusammen und doch, den Cache zu leeren, entfernt auch die Weiterleitungen aus dem Cache. Die Entwicklerwerkzeuge zeigen außerdem Weiterleitungen an, auch wenn die Weiterleitung gecacht ist. Sollte das bei dir nicht der Fall sein, ist vermutlich entweder ein spezieller HTTPS-Modus aktiv oder auch hier spielt dir eine Erweiterung ein Streich.

  • Es gibt auch noch einen "HTTPS First"-Modus, der aber nur via about:config konfiguriert werden kann. Standardmäßig ist dieser in regulären Fenstern deaktiviert, in privaten Fenstern (oder wenn keine Chronik gespeichert wird), aktiviert. Möglicherweise hast du auch selbst in about:config mal was verstellt. In dem Fall kommt es natürlich auch zu keiner Weiterleitung, weil Firefox direkt HTTPS nutzt.

    Ich habe in about:config diesen Punkt nicht verstellt. Der Boolean unter "dom.security.https_first" steht auf false.

    Das hängt aber nicht mit der Chronik zusammen und doch, den Cache zu leeren, entfernt auch die Weiterleitungen aus dem Cache.

    Tut mir leid, da muss ich leider deutlich widersprechen. Ich habe es mit einem blanken neuen Profil nachvollzogen und musste dabei Folgendes feststellen:

    • Wenn ich mittels Strg+Shift+Entf den Cache zum Lösche auswähle und dabei "die letzte Stunde" als Zeitraum angebe (den Tab mit der Seite habe ich bereits vorher geschlossen), dann wird der 301-Redirect beim erneuten Aufruf nicht angezeigt.
    • Wenn ich das gleiche mit "zwei Stunden" mache, erscheint das gleiche, kein Redirect, sondern direkt die HTTPS-Variante.
    • Bei "vier Stunden" ebenso.
    • Bei "heute" auch.
    • Bei "Alles" hat es sich unterschiedlich verhalten. Beim ersten Mal schien es so, als wäre der Redirect-Cache geleert worden und er hat den Redirect wieder angezeigt. Nachdem ich nun aber nachvollziehen wollte, bei welchen "Historie-Löschen-Zeiträumen" der Redirect wieder kommt und die obigen bereits ausgeführt hatte, kann ich auch bei "Alles" den Redirect nicht mehr sehen.

    Das Ganze habe ich mit einem nagelneuen Profil ohne jegliche AddOns oder sonstige manuellen Änderungen an about:config nachvollzogen. Erst beim Löschen der Historie für die Seite über "Forget this site" wird der Redirect __definitiv__ wieder angezeigt. Also reicht es nicht, nur den Cache zu leeren. Es gibt außerdem jede Menge Seiten, auf denen Leute Probleme mit dem Löschen des Caches und weiter existierender 301-Cacheeinträge zu haben scheinen, denn die Leute beschweren sich dort, dass das Löschen des Caches eben leider nicht den "Redirect-Cache" mit leert... (Daher habe ich auch den "Workaround" mit "Forget this site"...)

    Die Entwicklerwerkzeuge zeigen außerdem Weiterleitungen an, auch wenn die Weiterleitung gecacht ist. Sollte das bei dir nicht der Fall sein, ist vermutlich entweder ein spezieller HTTPS-Modus aktiv oder auch hier spielt dir eine Erweiterung ein Streich.

    Das muss ich leider auch verneinen, da ich es in dem obigen neuen blanken Profil definitiv nicht sehen konnte. Sogar bei Auswahl in den Entwicklerwerkzeugen, dass der Cache deaktiviert sein soll. Sobald einmal der 301-Redirect getan wurde, wird er nicht mehr angezeigt (außer bei Löschen über "Forget this site"). Wie bereits erwähnt sind hier keine AddOns aktiv, da temporär neues blankes Profil für Testzwecke erstellt.

    3 Mal editiert, zuletzt von patrick.weiden (5. März 2022 um 14:31) aus folgendem Grund: Genauere Antwort auf Aussagen von S. Hentzschel.

  • Hier muss man präzise sein. HTTPS kann Chrome auch. Firefox hat sowohl einen "HTTPS Only"- als auch einen "HTTPS First"-Modus, was du meinen könntest.

    Sorry, das war falsch geschrieben, den HTTPS-Only-Modus meinte ich auch.

    Wenn du weinen möchtest, bist du falsch hier. Hier gibt es nur Lösungen!
    Oh Herr, wirf Hirn, oder Steine - Hauptsache, du triffst endlich.
    Zu viele Goofies und Dulleks vom Dienst. Schlabokka!

  • Tut mir leid, da muss ich leider deutlich widersprechen.

    Ich habe den Cache alleine beruflich schon hunderte geleert, nur um Weiterleitungen zu testen. Und in ausnahmslos jedem Fall hat das bei mir funktioniert, dass die Weiterleitung damit aus dem Cache entfernt war. Wenn ich vom Löschen des Caches spreche, meint dies übrigens den vollständigen Cache. Ich habe noch nie den Cache nur von einer Stunde oder anderen Zeiträumen geleert, weil ich den Cache entweder konsequent oder gar nicht geleert haben möchte. Alles andere ist nicht vorhersehbar. Aber einen Zusammenhang zur Chronik gibt es keinen. Die Chronik ist kein Cache, ein Löschen der Chronik leert dementsprechend auch keinen Cache.

    Das muss ich leider auch verneinen, da ich es in dem obigen neuen blanken Profil definitiv nicht sehen konnte. Sogar bei Auswahl in den Entwicklerwerkzeugen, dass der Cache deaktiviert sein soll. Sobald einmal der 301-Redirect getan wurde, wird er nicht mehr angezeigt (außer bei Löschen über "Forget this site").

    Die Entwicklerwerkzeuge zeigen Weiterleitungen im Normalfall an, vollkommen egal, ob die Weiterleitung gecacht ist oder nicht. Ich habe das auch gerade noch einmal anhand meiner eigenen Website nachvollzogen. Ganz egal, wie oft die http://-Version aufrufe, die Weiterleitung auf https:// wurde jedes Mal angezeigt, und zwar in Grau, weil aus dem Cache geladen:

    Die Funktion, eine Seite zu vergessen, habe ich noch nie verwendet, auch heute nicht.

  • Ich habe den Cache alleine beruflich schon hunderte geleert, nur um Weiterleitungen zu testen. Und in ausnahmslos jedem Fall hat das bei mir funktioniert, dass die Weiterleitung damit aus dem Cache entfernt war.

    Dann mal kurze Frage: Wie leerst / löschst du den Cache? Ich habe es mittels Strg+Shift+Entf (wie oben beschrieben) probiert, außerdem noch das AddOn "Clear Cache" genutzt. Letzteres hatte keinen Einfluss auf den nicht erscheinenden 301 Redirect.

    Ich habe jetzt mal mein Vorgehen in einem erneut temporär neu angelegten Profil ohne AddOns oder sonstige about:config Änderungen mittels Screenshots "dokumentiert":

    1. Hier der erste Aufruf deiner Seite http://www.soeren-hentzschel.at (Redirect ist da):
    2. Dann löschen des Caches via Strg+Shift+Entf (Tab mit deiner Seite vorher geschlossen):
    3. Erneuter Aufruf deiner Seite (kein 301 Redirect zu sehen - aber hier ist auch der Cache in den Dev Tools nicht deaktiviert):
    4. Nochmal Leeren des Caches (vgl. 2).
    5. Erneut Aufruf deiner Seite (mit deaktiviertem Cache in den Dev Tools, wieder kein 301 Redirect zu sehen):
    6. Löschen aller Historie zu deiner Seite (Forget about this site): +
    7. Erneuter Aufruf deiner Seite (ahhhh, wieder ein 301 Redirect):

    Da ich leider nach wie vor nicht verstehe, was ich "falsch" mache beim Leeren / Löschen des Caches, wäre ich dir dankbar, wenn du mir kurz beschreibst, wie du es machst bzw. wie ich vorgehen kann, damit ich den 301 Redirect beim zweiten/dritten/... Aufruf deiner Seite ebenfalls sehe.

    Bin da leider ein bisschen ratlos im Moment...

    Noch ein Hinweis: Ich habe beim Löschen des Caches / der Historie (Schritte 2 und 4) auch mal alles andere an möglichen anklickbaren Optionen (in allen möglichen Konstellationen) durchprobiert. Nach meinem Empfinden hätte lediglich einmal (Zufall?) das Anhaken der Option "Browsing & download history" den 301 Redirect erscheinen lassen. Aber da das nicht reproduzierbar war und mir nur dauerhaft "Forget about this site" weitergeholfen hat, habe ich es erst mal (frustriert) dabei belassen. Wenn es natürlich auf irgendeine andere Weise viel einfacher und schneller geht (bin ein Freund von Keyboard Shortcuts), wüsste ich diese gerne. Lerne gerne dazu! :)

  • Dann mal kurze Frage: Wie leerst / löschst du den Cache?

    Chronik > Neueste Chronik löschen…

    Beim Zeitraum wähle ich "Alles" und das Häkchen mache ich ausschließlich bei "Cache" rein, nirgends sonst.

    Add-ons, die mit dem Cache irgendetwas zu tun haben, nutze ich keine.

    Und egal, wie oft ich http://www.soeren-hentzschel.at/ (also unverschlüsselt) aufrufe, die Netzwerkanalyse zeigt ausnahmslos immer die Weiterleitung auf https an.

  • Dann mal kurze Frage: Wie leerst / löschst du den Cache?

    Chronik > Neueste Chronik löschen…

    Beim Zeitraum wähle ich "Alles" und das Häkchen mache ich ausschließlich bei "Cache" rein, nirgends sonst.

    Add-ons, die mit dem Cache irgendetwas zu tun haben, nutze ich keine.

    Und egal, wie oft ich http://www.soeren-hentzschel.at/ (also unverschlüsselt) aufrufe, die Netzwerkanalyse zeigt ausnahmslos immer die Weiterleitung auf https an.

    Hallo Sören,

    aber das gleiche mache ich doch bei mir mit einem neuen Profil auch unter Schritt 2. oben. Daher verstehe ich nicht, wieso in dem neuen Profil der 301 nach dem Löschen des Caches bei mir nicht erscheint, bei dir aber wohl schon... ?! Ist mir unklar...

    Falls jemand ebenfalls mal einen Test machen und hier kurz posten kann, wie es sich bei ihm verhält, wäre ich dankbar!