Jasmin-Servlet mit Versionierung und Far Future Expires Headern
Die Far Future Expires Header kommunizieren dem Browser wie hier beschrieben, dass sich die ausgelieferten Ressourcen für einen sehr langen Zeitraum nicht verändern werden. Dies verhindert, dass der Browser bei jedem neuen Anfordern der Ressource beim Server erfragt, ob sich die Ressource zwischenzeitlich verändert hat. Statt dessen stellen diese Header sicher, dass der Browser die Stylesheets und Scripte ab dem 2. Request wenn möglich immer aus dem Cache bezieht.
Es könnte sich hierbei die Frage stellen, wie ein erneutes Laden bei Veränderungen dieser Ressourcen erzwungen werden kann.
An dieser Stelle kommt das zweite neue Feature - die Versionierung - zum Zuge. Eine Ressource wird von Browsern anhand ihres URLs identifiziert. Eine Ressource mit einem veränderten URL wird immer neu vom Server geladen, sofern diese unter dem veränderten URL nicht im Cache gefunden wird. Bei jedem Onlinegang eines Projekts wird deshalb ein Zeitstempel erzeugt, welcher bis zum nächsten Onlinegang unverändert in jeden Jasmin-Request integriert wird. Dabei wird der Zeitpunkt des Onlinegangs als Referenz verwendet. Dies ist der einzige Moment, an dem sich Änderungen an den Jasmin-Ressourcen ergeben können und an dem sichergestellt sein muss, dass alle Scripte und Styles einmalig neu vom Servlet an alle Clients ausgeliefert werden.
Das Jasmin-Servlet zur Auslieferung der CSS- und JavaScript-Ressourcen nähert sich mit diesen neuen Features einem finalen Stand.
Im Zuge dieser neuen Version habe ich testweise eine Umstellung der Integration der JavaScripte vorgenommen. Wo bisher am Ende der Seite ein klassisches HTML Script-Tag verwendet wurde, kommt jetzt die sogenannte Managed XHR Technik zur Anwendung. Geprägt hat diesen Begriff Steve Souders in seinem Buch Even Faster Web Sites. Dabei erwiesen sich die schon vorher notwendig gewordenen Umstellungen für das Laden der Scripte am Ende der Seite als äußerst nützliche Vorarbeit. Nach einem ersten Eindruck führt diese Umstellung besonders in den Internet Explorern zu einer deutlich schnelleren Anzeige der Seiten.
Archive
- Juli 2010 (2)
- Juni 2010 (3)
- Mai 2010 (9)
- April 2010 (8)
- März 2010 (13)
- Februar 2010 (10)
- Januar 2010 (11)
- Dezember 2009 (8)
- November 2009 (6)
- Oktober 2009 (10)
- September 2009 (9)
- August 2009 (12)
- Juli 2009 (16)
- Juni 2009 (17)
- Mai 2009 (8)
- April 2009 (12)
- März 2009 (8)
- Februar 2009 (10)
- Januar 2009 (9)
- Dezember 2008 (2)
- November 2008 (8)
- Oktober 2008 (13)
- September 2008 (3)
- August 2008 (5)
- Juli 2008 (9)
- Juni 2008 (5)
- Mai 2008 (5)
- April 2008 (7)
- März 2008 (2)
- Januar 2008 (3)
- Das Neueste ...
- Älteres ...
Trackbacks