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