Sven Rautenberg: CSS: Caching wenn das CSS aus vielen stücken besteht

Beitrag lesen

Moin!

Sollte das Stylesheet nicht zwischengespeichert werden, könntest du dir den 'If-Modified-Since' Header (verfügbar in apache_request_headers()) anschauen und gegebenenfalls statt das CSS auzuliefern nur ein 304 Not Modified senden.

Das wäre unerwünscht, wenn es nicht zwischengespeichert wird, braucht es mir nicht gleich das Design zu zerhauen.

das ist mit dem gut kombinierbar, was ich vorschlug (nur nicht so fein ausgearbeitet): das file statisch schreiben und nicht bei jedem aufruf neu generieren - wenn das file zusammengesetzt wird (aus den 10 anderen files), prüft die routine lediglich, ob die sich die hashwerte der einzelnen files verändert haben, wenn nicht wird das bereits geschriebene file ausgeliefert und ggf 304 not modified mitgeschickt (sofern der client dieses file schon hat)

das spart einerseits overhead beim datenübertragen, andererseits spart das ganze etwas last am server

Deine Argumentation ist irreführend.

Es ist deutlich lastsparender, einfach auf Anforderung die Einzelteile des zu bildenden CSS zusammenzuführen und als Datei zu speichern, als zunächst von jedem einzelnen Einzelteil einen Hashwert auszurechnen, den mit einem vorher gespeicherten Hashwert zu vergleichen und nur im Bedarfsfall einer Änderung die neue Datei zu speichern.

Das ganze Brimborium mit dem 304-Status erledigt der Server ja schon von alleine - deshalb speichern wir ja die statisch zusammengefügte Datei im Dateisystem, damit der Server dort das Generierungsdatum der Datei als "zuletzt verändert" nutzen kann, um das ganze Handling der Conditional-Requests machen zu können.

die noch bessere variante ist, die einzel-css-files in die datenbank zu legen - jedes mal wenn über das backend eines der unterfiles geändert wird, wird das haupt-css neu generiert und irgendwo hingelegt - dann brauchst auch keinen cron-job

Wo die Einzelteile liegen, ist für die Aufgabe vollkommen irrelevant.

- Sven Rautenberg

--
"Love your nation - respect the others."
0 57

CSS: Caching wenn das CSS aus vielen stücken besteht

Malcolm Beck´s
  • css
  1. 0
    suit
    1. 0
      Malcolm Beck´s
      1. 0
        suit
        1. 0
          Malcolm Beck´s
  2. 0
    Cheatah
    1. 0
      suit
    2. 0
      Peter Pan
      1. 0
        Jens Holzkämper
        1. 0
          suit
          1. 0
            Jens Holzkämper
            1. 0
              Gunnar Bittersmann
              1. 0
                suit
              2. 0
                Jens Holzkämper
                1. 0
                  Gunnar Bittersmann
                  1. 0
                    Jens Holzkämper
                    1. 0
                      Gunnar Bittersmann
                      1. 0
                        suit
                        1. 0
                          Gunnar Bittersmann
            2. 0
              suit
              1. 0
                Jens Holzkämper
                1. 0
                  suit
                  1. 0
                    Jens Holzkämper
                    1. 0
                      suit
                      1. 0
                        Jens Holzkämper
          2. 0
            at
            1. 0
              suit
              1. 0
                at
    3. 0
      Malcolm Beck´s
      1. 0
        Peter Pan
        1. 0
          Malcolm Beck´s
          1. 0
            Auge
            1. 0
              Malcolm Beck´s
              1. 0
                Auge
                1. 0
                  Malcolm Beck´s
                  1. 0
                    Auge
                    1. 0
                      Malcolm Beck´s
                      1. 0
                        Christoph
                        1. 0
                          Malcolm Beck´s
                      2. 0
                        Auge
                        1. 0
                          Malcolm Beck´s
                          1. 0
                            Auge
                            1. 0
                              Malcolm Beck´s
    4. 0
      Peter Pan
  3. 0
    Christoph
    1. 0
      Malcolm Beck´s
      1. 0
        Christoph
        1. 0

          CSS: Danke

          Malcolm Beck´s
          1. 0
            Christoph
            1. 0
              Malcolm Beck´s
              1. 0
                Malcolm Beck´s
                1. 0
                  suit
                  1. 0
                    Malcolm Beck´s
        2. 0
          suit
          1. 0
            Christoph
          2. 0
            Sven Rautenberg
            1. 0
              suit