Announcement

Collapse
No announcement yet.

Expire-Datum für einzelne Bilder?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Expire-Datum für einzelne Bilder?

    Ich beschäftige mich gerade mit Pagespeed und habe dabei ein kleines Verständnisproblem bezüglich dem Meta-Datum "expires":

    Kann man damit nur steuern, ob eine HTML-Seite komplett gecached wird? Ich habe eine dynamische Seite, auf der aber immer wieder dieselben Grafiken vorkommen. Wie kann ich die Browser anweisen BESTIMMTE Bilder (die auf meinem Webspace liegen und zB im Design vorkommen) aus dem Cache zu laden? Andere Bilder sollen beim Aufruf der Seite aktuell abgerufen werden, da sie dynamisch erzeugt werden und immer dieselbe Adresse, aber unterschiedlichen Inhalt haben.

  • #2
    Wie kann ich die Browser anweisen BESTIMMTE Bilder (die auf meinem Webspace liegen und zB im Design vorkommen) aus dem Cache zu laden? Andere Bilder sollen beim Aufruf der Seite aktuell abgerufen werden, da sie dynamisch erzeugt werden und immer dieselbe Adresse, aber unterschiedlichen Inhalt haben.
    gar nicht, da du an einzelnen Content der Seite keine Meta-Tags setzen kannst
    Christian

    Comment


    • #3
      Schade. Dann bleibt mir also nur in der .htaccess einzelne Dateitypen mit Expire zu versehen und in Kauf zu nehmen, dass alle JPGs unnötig oft neu geladen werden

      <IfModule mod_expires.c>
      ExpiresActive On
      ExpiresByType text/css "access plus 1 month"
      ExpiresByType image/gif "access plus 1 month"
      ExpiresByType image/png "access plus 1 month"
      ExpiresByType image/x-icon "access plus 1 year"
      </IfModule>

      Comment


      • #4
        Warum überlässt du das nicht dem Client.....
        Christian

        Comment


        • #5
          Weil die Seite dann langsamer lädt! Ohne Angabe muss der Browser für jede Datei einen Request schicken, ob sie in der Zwischenzeit geändert wurde. Das entfällt hierdurch. Serverschonend und zeitsparend.

          Comment


          • #6
            Ohne Angabe muss der Browser für jede Datei einen Request schicken, ob sie in der Zwischenzeit geändert wurde.
            Wie sieht dieser aus?
            Christian

            Comment


            • #7
              Worauf willst du mit deinen Fragen hinaus? Haben die ganzen Quellen, die ich in den letzten Tagen gelesen habe, etwa alle Unrecht?

              Comment


              • #8
                Mich würde interessieren, wie dieser Request lautet?

                Ich kenne per HTTP lediglich GET, POST, HEAD, DELETE. Einen Request um anzufragen, wie alt eine Resource ist und ob eine neuere da ist, würde mich da interessieren.

                Des Weiteren wird die HTML-Seite durch den Browser gerendert. Dabei wird ohnehin geprüft, ob die Resourcen schon lokal im Cache liegen. Wenn nicht, muss der Browser diese vom Server anfordern.

                Wie macht er das nun, dass er nur nachfragt, ob es neuere gibt?
                Wie stellt er fest, dass er die Resource nicht anfragen muss, weil sie erst nach "access +x" abgelaufen ist?

                Mit o.a. Einstellungen kann man m.E. nur steuern, dass eine Resource beim übermitteln dieses Ablaufdatum gesetzt bekommt. Der Browser kann dann also bei folgenden Zugriffen - sofern er das tut- das Expiredatum der schon im Cache vorhandenen Datei abfragen und erst einen neuen Request für die Resource schicken, wenn das Datum abgelaufen ist. Alternativ könnte er dann eine HEAD Anfrage schicken um zu prüfen, ob die Resource abgelaufen ist. Wenn ja, müsste er dann aber ein GET erneut absetzen.

                Da die Resource dazu aber schon im Cache liegt; -> wo ist der Zeitvorteil?
                Zuletzt editiert von Christian Marquardt; 16.12.2011, 12:46.
                Christian

                Comment


                • #9
                  genau diesen HEAD-Request meinte ich. Laut einigen Quellen frisst auch der etwas Zeit. (Zu dem Thema gekommen bin ich ursprünglich über Google PageSpeed. die Quellen habe ich mir allerdings nicht notiert.)
                  WENN die Resource schon im Cache liegt, dann würde laut der Quelle eine HEAD-Request geschickt, falls kein Expire-Datum gesetzt ist, das die Aktualität des Resource bezeugt. Diese Request spart man sich also. Und soweit ich mich erinnere steigt auch die Wahrscheinlichkeit DASS die Resource im Cache gehalten wird, wenn es ein sehr spätes expire-Datum hat.

                  Comment


                  • #10
                    Hier Firefox, www.entwicklerforum.de, Cache aktiviert. Firebug. Ich sehe keine HEAD-Requests.
                    Christian

                    Comment


                    • #11
                      Da unterscheiden sich die verschiedenen Browser wohl.
                      Ich bezweifle sehr stark, dass hunderte Webentwickler sich darum kümmern würden, wenn es nichts bringt! Eine genaue Angabe welcher Browser bei welcher Einstellung hier unnötige Requests sendet, das kann ich dir leider nicht geben! Da vertraue ich einfach darauf, dass die allgemeine Meinung korrekt ist.

                      Comment

                      Working...
                      X