Seite aktualisiert sich nicht bei einigen Besuchern!

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Seite aktualisiert sich nicht bei einigen Besuchern!

    Hallo, guten abend,

    Gelegentlich melden sich besucher bei mir, das sie die "neuerungen" auf der seite nicht sehen, die schreiben dann "ähmm bei mir sieht da so aus wie gestern, da ist nichts anders als gestern"...

    Ich habe jetzt einige bilder-icons zusammengefast in ein einziges icon, das einen neune dateiname hat und als css-sprite angesprochen wird - also so background-position: 50px 50px ....

    Ich habe mich von dem Firebug + Pagespeed von Google (Web Performance Best Practices)
    überreden lassen, diese header bei jeder seite mitzusenden:

    PHP-Code:
    header("Content-type:text/html; charset=ISO-8859-1");
    header("Cache-Control:must-revalidate,public");
    header('Vary:Accept-Encoding');
    header("Last-Modified:".gmdate("D, d M Y H:i:s")." GMT");
    header("Expires:".gmdate("D, d M Y H:i:s",time()+1209600)." GMT"); # +14 Tage 
    Hier gefallen mir persölich die 2 letzten nicht...aber die page-speed von google meint - um die performance zu steigern sollte man expire in die zukunft setzen!

    Natürlich nehmen das viele Browser zum anlass "achso, die seite läuft erst in 14 tage ab...na dann kann ich ja meine gespeicherte seite zeigen, damit ich nicht unnötig nachladen muß".

    Was meint ihr dazu?
    Soll ich die 2 letzten header nicht in die vergangenheit setzen, um sicher zu gehen, das der besucher immer die aktuelle seite bekommt?
    ACHTUNG: RamonaS zeigte ein beschämendes Verhalten in der Vergangenheit

  • #2
    Zitat von RamonaS Beitrag anzeigen
    Soll ich die 2 letzten header nicht in die vergangenheit setzen, um sicher zu gehen, das der besucher immer die aktuelle seite bekommt?
    Nein, das wäre Unfug.

    Expires sollte rausfliegen, wenn du nicht garantieren kannst/willst, dass sich die Daten bis zum angegebenen Zeitpunkt nicht ändern.

    Last-Modified solltest du zwar setzen, und zwar auf den Zeitpunkt, an dem der komplette Dokumentinhalt sich zuletzt geändert hat (das umfasst also Dinge wie DB-Daten, Templates, ...) - aber das allein bringt's nicht, denn damit das sinnvolles Caching zur Folge hat, muss dein Script auch auf entsprechende “conditional GET”-Anfragen sinnvoll reagieren, also ggf. ausschließlich mit einem Header 304 Not Modified als Antwort.


    Zu dem Thema, sinnvolles Caching mit PHP, gibt's einige Tutorials/Anleitungen.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Hallo,

      das Datum willkürlich in die Zukunft zu setzen ist wirklich keine gute Idee und würde das Problem deiner Besucher erklären. Wenn du es ganz richtig machen willst, nimm das jüngste Datum von den Änderungsdaten aller am aktuellen Dokument beteiligten Ressourcen, also die filemtimes der Script-Datei selbst, aller includierten Scripts und sonstiger Ressourcen (DB-Daten, sofern vorhanden).

      Edit: wieder eine Minute zu langsam

      Gruß,

      Amica
      [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
      Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
      Super, danke!
      [/COLOR]

      Kommentar


      • #4
        Wenn es nur um neue Versionen von CSS-Dateien geht, die noch lokal gecachet sind, wird häufig eine Lösung dieser Art praktiziert:

        HTML-Code:
        <link rel="stylesheet" type="text/css" href="/css/style-v2.0.css" />
        Also Versionierung im Dateinamen/Pfad.

        Kommentar

        Lädt...
        X