Komisches Doppelladen von Seiten...

  • Ich habe den Verdacht, dass das Problem hier korrekter liegt als unter "Plugins und Websites". Ansonsten bitte einfach verschieben...

    Hab ein komisches Phänomen heute bei meinem Firefox auf eigener Website festgestellt: Der Fuchs lädt Seiten andauernd doppelt. Nicht, dass ein Location-header vorliegen würde. Nicht, dass er irgendwo irgendwie Javascript enabled hätte. Ganz im Gegenteil. Nicht, dass ein anderer Browser (Chrome oder IE) mit derselben Seite dasselbe machen würde.

    Da es um eine eigene Webseite geht, hege ich einen leisen Verdacht, dass es irgendwie was mit der Cache-Verwaltung des Fuches zu tun haben könnte. Also: Dass ich vom Server aus dem Fuchs irgendwas erzähle, was ihn durcheinanderbringt und dazu veranlasst, die Seite doppelt anzufordern.

    Die Seite, um die es geht: http://www.berufefinder.com/berufsfinder.php

    Das Verhalten konkret: Wenn ich aus einem völlig zurückgesetzten Zustand (Neue Sitzung, Cookies gelöscht) die Startseite das erste Mal aufrufe, wird sie genau einmal geladen. Das ist OK. So wie es alle anderen Browser auch machen und wie es nach Adam Ries und gesundem Menschenverstand sein sollte.

    Wenn ich aber einmal in den Suchapparat hineinsteige (auf einen der 4 Buttons klicke) und dann wieder "zurück auf Los" gehe (oben links auf der Suchseite), beginnt der Firfox mit dem Doppelladen. Und hört nicht mehr damit auf. Alle PHP-Unterseiten werden von dem Moment an immer doppelt geladen.

    Dass nach Ausführung eines Kommandos ein Neuladen erfolgt, ist korrekt und gewollt. Nach jedem Kommando (jedem GET mit einem Kommando im Query) wird dies veranlasst, wobei der Zustand in der Sitzung verbleibt und beim Nachladen die Verteilerseite ohne Parameter geholt wird.

    Aber dass dieses Nachladen der Verteilerseite ohne Kommando-Parameter DOPPELT geschieht - ohne dass der Browser dazu einen Location-Header erhalten würde: der macht das offenbar komplett von sich allein heraus -, ist nicht mehr korrekt.

    Aufgefallen ist mir das, weil ich gerade an einem Problem mit dem Seiten-Cache herumbastle. Welches eigentlich noch existieren sollte, aber seltsamerweise on-the-fly beim eingeschobenen Herumbasteln an diesem Doppel-Nachladen "verschwunden" ist.

    Daraus resultierend meine Vermutung, dass das ganze Zeug irgendwie was mit der Cache-Verwaltung vom Firefox zu tun haben könnte. Mit etwas, was der Firefox so nicht verträgt, während Chrome und IE da mit keiner Wimper zucken.

    ==============

    Das Verhalten lässt sich lokal am Browser nachvollziehen mittels LiveHTTPHeaders.
    Nochmal die Adresse: http://www.berufefinder.com/berufsfinder.php

    - erstmaliger Aufruf mit neuer Session: Alles OK, auch bei Reload (nur einmaliges Laden)
    - Abstieg in die Suchseite und anschließendes return nach oben (auf "Los") triggert nachfolgend dauerhaftes Doppel-Nachladen (also: Bei einem Kommando wird die Seite insgesamt dreimal hintereinander angefordert: erst ein GET mit Kommando, was ein "302 found" mit Location erzeugt, dann ein GET ohne Kommando, was ein "200 OK" erzeugt und dann immer noch eine völlig sinnlose Wiederholung des Letzteren).

    ==============

    Das Fehlverhalten wird sich mit Sicherheit auf Serverseite beheben lassen, aber der Firefox ist derjenige, der als einziger das Fehlverhalten zeigt. Deshalb hoffe ich, hier im Firefox-Forum einen Tipp zu erwischen, in welche Richtung ich suchen könnte...

    ==============

    Hier nochmal ein LiveHTTPHeaders-Mitschnitt:

    http://www.berufefinder.com/berufsfinder.php?usertype=old

    GET /berufsfinder.php?usertype=old HTTP/1.1
    Host: http://www.berufefinder.com
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: de,en-US;q=0.7,en;q=0.3
    Accept-Encoding: gzip, deflate
    Referer: http://www.berufefinder.com/berufsfinder.php
    Cookie: PHPSESSID=pu8bnfaric7i9sdj25u69snk96
    DNT: 1
    Connection: keep-alive

    HTTP/1.1 302 Found
    Date: Tue, 15 Sep 2015 11:03:45 GMT
    Server: Apache/2.2.22 (Debian)
    X-Powered-By: PHP/5.4.41-0+deb7u1
    Expires: Thu, 19 Nov 1981 08:52:00 GMT
    Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
    Pragma: no-cache
    Location: http://www.berufefinder.com/berufsfinder.php
    Vary: Accept-Encoding
    Content-Encoding: gzip
    Content-Length: 20
    Keep-Alive: timeout=5, max=100
    Connection: Keep-Alive
    Content-Type: text/html
    ----------------------------------------------------------
    http://www.berufefinder.com/berufsfinder.php

    GET /berufsfinder.php HTTP/1.1
    Host: http://www.berufefinder.com
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: de,en-US;q=0.7,en;q=0.3
    Accept-Encoding: gzip, deflate
    Referer: http://www.berufefinder.com/berufsfinder.php
    Cookie: PHPSESSID=pu8bnfaric7i9sdj25u69snk96
    DNT: 1
    Connection: keep-alive

    HTTP/1.1 200 OK
    Date: Tue, 15 Sep 2015 11:03:45 GMT
    Server: Apache/2.2.22 (Debian)
    X-Powered-By: PHP/5.4.41-0+deb7u1
    Expires: Thu, 19 Nov 1981 08:52:00 GMT
    Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
    Pragma: no-cache
    Vary: Accept-Encoding
    Content-Encoding: gzip
    Keep-Alive: timeout=5, max=99
    Connection: Keep-Alive
    Transfer-Encoding: chunked
    Content-Type: text/html
    ----------------------------------------------------------

    =========================================
    Das folgende darf nicht mehr sein (beachte den Zeitstempel!)...
    =========================================
    http://www.berufefinder.com/berufsfinder.php

    GET /berufsfinder.php HTTP/1.1
    Host: http://www.berufefinder.com
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: de,en-US;q=0.7,en;q=0.3
    Accept-Encoding: gzip, deflate
    Referer: http://www.berufefinder.com/berufsfinder.php
    Cookie: PHPSESSID=pu8bnfaric7i9sdj25u69snk96
    DNT: 1
    Connection: keep-alive

    HTTP/1.1 200 OK
    Date: Tue, 15 Sep 2015 11:03:45 GMT
    Server: Apache/2.2.22 (Debian)
    X-Powered-By: PHP/5.4.41-0+deb7u1
    Expires: Thu, 19 Nov 1981 08:52:00 GMT
    Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
    Pragma: no-cache
    Vary: Accept-Encoding
    Content-Encoding: gzip
    Keep-Alive: timeout=5, max=98
    Connection: Keep-Alive
    Transfer-Encoding: chunked
    Content-Type: text/html

  • P.S.: Das Apache-Log sagt, dass es anderen Leuten, die hier aus dem Forum mit nem Firefox draufgucken, genauso geht.
    Also: Wenn man ne schnelle Verbindung hat, merkt man das nicht so krass. Aber wenn das Laden der Seite eh schon eine Sekunde oder so dauert und das dann doppelt kommt, ist es ärgerlich.