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."