Email: ExpiresActive Off

problematische Seite

Der Webserver meines ISP sendet trotz ExpiresActive Off einen ExpiresHeader. Wie kann ich dem das abgewöhnen?

MFG

  1. problematische Seite

    Der Webserver meines ISP sendet trotz ExpiresActive Off einen ExpiresHeader. Wie kann ich dem das abgewöhnen?

    Zumindest kann ich selbst einen Expiresheader setzen. Mit einem etwas sinnvollerem Wert als den den der Webserver sich ausgedacht hat: Wie kommt der den überhaupt darauf daß meine Seiten nur 2 Stunden gültig sind!?

    Und daß meine CSS-Dateien ein Ablaufdatum haben? Gibt es da irgendwelche Empfehlungen die mein Provider verkonfiguriert haben könnte?

    MFG

    1. problematische Seite

      Wie kommt der den überhaupt darauf daß meine Seiten nur 2 Stunden gültig sind!?

      Ich sehe in den Headern für die nv.css

      Cache-Control:	max-age=604800
      

      und wundere mich nicht über:

      Expires: Wed, 13 Nov 2019 08:07:13 GMT
      

      mod expires legt zwar selbstständig fest, ob und welches expires-header gesendet wird und aber nur dann, wenn der Webserver keine andere Anweisung hat. Die "andere Anweisung" wieder kann "sonstwoher" kommen (anderes Modul, CGI, ..., andere Konfig-Datei)

      Handbuch:

      "When the Expires header is already part of the response generated by the server, for example when generated by a CGI script or proxied from an origin server, this module does not change or add an Expires or Cache-Control header."

      1. problematische Seite

        mod expires legt zwar selbstständig fest, ob und welches expires-header gesendet wird

        Nein das ist falsch. Vielmehr ist im Default ExpiresActive Off gesetzt. Und wenn das so ist, wird auch kein Cache-Control Header gesendet.

        MFG

        1. problematische Seite

          mod expires legt zwar selbstständig fest, ob und welches expires-header gesendet wird

          Nein das ist falsch. Vielmehr ist im Default ExpiresActive Off gesetzt. Und wenn das so ist, wird auch kein Cache-Control Header gesendet.

          Nein, DAS ist falsch. Wenn ExpiresActive Off gesetzt ist, dann tut mod_expires einfach nur nichts und lässt alles wie es ist… Wenn also ein Cache-Control Header aus anderen Gründen gesetzt ist, dann bleibt der wie er ist. Auch ansonsten geht mod_expires ohnehin nur zur Sache, wenn zuvor keinerlei Header zur Cache-Steuerung festgelegt wurden. Siehe Handbuch.

          1. problematische Seite

            mod expires legt zwar selbstständig fest, ob und welches expires-header gesendet wird

            Nein das ist falsch. Vielmehr ist im Default ExpiresActive Off gesetzt. Und wenn das so ist, wird auch kein Cache-Control Header gesendet.

            Nein, DAS ist falsch. Wenn ExpiresActive Off gesetzt ist, dann tut mod_expires einfach nur nichts und lässt alles wie es ist… Wenn also ein Cache-Control Header aus anderen Gründen gesetzt ist, dann bleibt der wie er ist. Auch ansonsten geht mod_expires ohnehin nur zur Sache, wenn zuvor keinerlei Header zur Cache-Steuerung festgelegt wurden. Siehe Handbuch.

            Wenn ExpiresActive On gesetzt ist und Expires auf ein Datum zeigt was in der Zukunft liegt, berechnet mod_expires dieses Datum in Sekunden um, gneriert den Header Cache-Control und setzt den Wert als max-age in diesen Header.

            Dafür ist dieses Apache-Modul gedacht: Es berechnet den Wert für max-age. Und das zeigen auch die Beispiele im Handbuch, wie z.B.: ExpiresByType image/gif "modification plus 5 hours 3 minutes" oder ExpiresDefault "access plus 1 month"

            MFG

  2. problematische Seite

    Der Webserver meines ISP sendet trotz ExpiresActive Off einen ExpiresHeader.

    Nun, da ist wohl eine Tiefenprüfung angesagt. Denn möglicherweise bekommt der Webserver den Vorschlag bzw. die Anweisung hierzu von irgendeiner Libary irgendeines Frameworks…

    1. problematische Seite

      Der Webserver meines ISP sendet trotz ExpiresActive Off einen ExpiresHeader.

      Nun, da ist wohl eine Tiefenprüfung angesagt. Denn möglicherweise bekommt der Webserver den Vorschlag bzw. die Anweisung hierzu von irgendeiner Libary irgendeines Frameworks…

      CSS Dateien liefert der Webserver direkt aus. Die Frage ist, warum ExpiresActive Off in der .htaccess nicht greift.

      MFG

      1. problematische Seite

        Es ist nicht ganz undenkbar, dass der $ISP serverweit für bestimmte, meist statische Dateien (CSS, JS) solche Einstellungen setzt, damit seine Server nicht unter der Unwissenheit seiner vielen Kunden leiden.

        Zwei Stunden wäre da ein gutes Maß. Allerdings kann das zu erheblicher Verwirrung sorgen: Nämlich wenn Änderungen an diesen Dateien dann also eine Weile lang nicht in den Browsern ankommen.

        host … whois:

        Ich erinnere mich ganz dunkel und das kann mit guter Wahrscheinlichkeit falsch sein, dass Dein ISP vor Jahren mal wegen irgend etwas in diesem Zusammenhang auf meinem Bildschirm war.

        1. problematische Seite

          Zwei Stunden wäre da ein gutes Maß.

          Wieso das denn!? Was an 2 Stunden soll denn für CSS Dateien ein gutes Maß sein!? CSS Dateien werden doch nicht laufend geändert sondern langfristig. Und genau das wäre ein Grund dafür, einen Expires-Header eben nicht zu senden.

          Was man lt. Apachedokumentation mit einem ExpiresActive Off in der .htaccesss erreichen kann womit bis dahin konfigurierte Festlegungen überschrieben werden.

          MFG

          1. problematische Seite

            Wieso das denn!? Was an 2 Stunden soll denn für CSS Dateien ein gutes Maß sein!?

            Wieso denn nicht?

            Das Cachen von Webseiten ist immer ein Kompromiss zwischen Minderung der Serverlast und schnellem Laden (will lange Cache-Dauer) einerseits sowie Funktionalität (will kurze bis gar keine Cache-Dauer) andererseits.

            Die meisten Kunden Deines Hosters sind Mittelständler, also KMU.

            Es ist ja wohl kaum so, dass die Webseiten von $Mittelständler vom selben Betrachter mit dem selben Browser tagelang oder wochenlang im Minutenrythmus wiederholt abgerufen werden. In den meisten Fällen wird sich jemand informieren und sodann die Webseiten längere Zeit nicht mehr brauchen, also auch nicht abrufen.

            1. problematische Seite

              Wieso das denn!? Was an 2 Stunden soll denn für CSS Dateien ein gutes Maß sein!?

              Wieso denn nicht?

              Das Cachen von Webseiten ist immer ein Kompromiss zwischen Minderung der Serverlast und schnellem Laden (will lange Cache-Dauer) einerseits sowie Funktionalität (will kurze bis gar keine Cache-Dauer) andererseits.

              Der ExpiresHeader ist gedacht dafür, daß der Browser vergleicht. Im Gegensatz zum Last-Modified-Header, wo der Vergleich serverseitig stattfindet.

              Sinnvoll ist ein ExpiresHeader wenn von vornherein feststeht wann die Seite abläuft. Bspw. für Seiten die sich zyklisch ändern. Andererseits wird ein Designer wohl kaum von sich aus sagen können, daß er seine CSS-Dateien alle 2 Stunden ändert, das ergibt überhaupt keinen Sinn.

              So ist ein solch pauschal gesetzter ExpiresHeader weder sinnvoll noch fürs Cachen notwendig weil der Server das Dateidatum kennt und einen dem entsprechenden Last-Modified-Header sendet. Damit nimmt der Browser die Seite in seinen Cache und sendet, anstatt die Zeitstempel selbst zu vergleichen, einen If-Modified-Since und der Server vergleicht. Bei Übereinstimmung sendet der Server den Status 304 Not Modified ohne einen Content hinterherzuschicken.

              Cachen per Last-Modified ist also alles Andere als ein Kompromiss! Auf Expires hingegen kann sich der Betreiber des Webservers gar nicht verlassen, weil der Browser anhand seiner Systemzeit entscheidet ob er die Seite neu anfordert. Und mein Browser tut nicht einmal das, d.h., er ignoriert den Expires-Header. Somit ist Cachen per Expires mitnichten ein Kompromiss sondern vielmehr eine spekulative und damit fragwürdige Angelegenheit.

              MFG

              1. problematische Seite

                Hello,

                Wieso das denn!? Was an 2 Stunden soll denn für CSS Dateien ein gutes Maß sein!?

                Wieso denn nicht?

                Das Cachen von Webseiten ist immer ein Kompromiss zwischen Minderung der Serverlast und schnellem Laden (will lange Cache-Dauer) einerseits sowie Funktionalität (will kurze bis gar keine Cache-Dauer) andererseits.

                Der ExpiresHeader ist gedacht dafür, daß der Browser vergleicht. Im Gegensatz zum Last-Modified-Header, wo der Vergleich serverseitig stattfindet.

                Den Unterschied zwischen Request- und Responseheadern kennst Du?

                Glück Auf
                Tom vom Berg

                --
                Es gibt nichts Gutes, außer man tut es!
                Das Leben selbst ist der Sinn.
            2. problematische Seite

              In den meisten Fällen wird sich jemand informieren und sodann die Webseiten längere Zeit nicht mehr brauchen, also auch nicht abrufen.

              Anhand des Expires-Header!? Für diesen Header interessiert sich nicht einmal der Browser!

              MFG

              1. problematische Seite

                Hallo,

                In den meisten Fällen wird sich jemand informieren und sodann die Webseiten längere Zeit nicht mehr brauchen, also auch nicht abrufen.

                Anhand des Expires-Header!? Für diesen Header interessiert sich nicht einmal der Browser!

                Beschreib doch mal bitte deine Zielgruppe. Für wen oder was entwickelst du deine Webseiten?

                Gruß
                Kalk

    2. problematische Seite

      Der Webserver meines ISP sendet trotz ExpiresActive Off einen ExpiresHeader.

      Nun, da ist wohl eine Tiefenprüfung angesagt. Denn möglicherweise bekommt der Webserver den Vorschlag bzw. die Anweisung hierzu von irgendeiner Libary irgendeines Frameworks…

      Um der Sache auf den Grund zu gehen habe ich ja ExpiresActive Off gesetzt. Wie würdest Du denn vorgehen?

      Schönen Sonntag.

  3. problematische Seite

    Aloha ;)

    Der Webserver meines ISP sendet trotz ExpiresActive Off einen ExpiresHeader. Wie kann ich dem das abgewöhnen?

    Das verrät dir der Support deines ISPs. Mein Hoster musste mir auch erst auf Nachfrage erklären, wie man deren Varnish Cache deaktiviert.

    Denn mit hoher Sicherheit ist nicht der Header das Problem, sondern eine Dritte Softwarelösung, die da unbekannterweise läuft.

    Grüße,

    RIDER

    --
    Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller
    # Twitter # Steam # YouTube # Self-Wiki # Selfcode: sh:) fo:) ch:| rl:) br:^ n4:? ie:% mo:| va:) js:) de:> zu:} fl:( ss:) ls:[
    1. problematische Seite

      Der Webserver meines ISP sendet trotz ExpiresActive Off einen ExpiresHeader. Wie kann ich dem das abgewöhnen?

      Das verrät dir der Support deines ISPs.

      Den hab ich grad angerufen. Und der hat mir auch nur das sagen können was ich ohnehin schon weiß.

      Denn mit hoher Sicherheit ist nicht der Header das Problem, sondern eine Dritte Softwarelösung, die da unbekannterweise läuft.

      So siehts aus. Aber das hat er mir nicht verraten 😉

      MFG

      1. problematische Seite

        Aloha ;)

        Denn mit hoher Sicherheit ist nicht der Header das Problem, sondern eine Dritte Softwarelösung, die da unbekannterweise läuft.

        So siehts aus. Aber das hat er mir nicht verraten 😉

        Das ist echt ein Armutszeugnis für den Hoster…

        Grüße,

        RIDER

        --
        Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller
        # Twitter # Steam # YouTube # Self-Wiki # Selfcode: sh:) fo:) ch:| rl:) br:^ n4:? ie:% mo:| va:) js:) de:> zu:} fl:( ss:) ls:[
        1. problematische Seite

          Der Hoster wird schon seine Gründe haben, Expires zu setzen. Und wie er das macht ist mir egal solange sich das mit meinen Anforderungen deckt. Was auch umgekehrt der Fall ist. MFG