Sven Rautenberg: Browsercaching steuern

Beitrag lesen

Moin!

Tach!

dieser Teil wird dann per mod_rewrite wieder 'rausgeschmissen', weil der Request mit GET-Paramtern das Caching grundsätzlich verhindert. War mir garnicht klar.
Das ist auch vollkommen falsch. Query-Strings haben absolut gar nichts mit Caching zu tun, es ist nur zufällig so, dass diese oftmals zum dynamischen Abfragen von Ergebnissen benutzt werden und deshalb Caching nicht unbedingt erwünscht ist.

Und vermutlich aus diesem Grund hat sich in meinen Nachforschungen und Beobachtungen zu diesem Thema gezeigt, dass zumindest der Firefox aus der Kalten Querystring-Anfragen nicht aus dem Cache beantwortet. Man muss es ihm extra mit Expires-/Cache-Control-Headern erlauben. "Absolut gar nichts" stimmt in dieser Absolutheit nur in der Theorie.

Das unterscheidet sich nicht von Ressourcen ohne Query-String.

Wenn nicht irgendeine serverseitige Dynamik dahintersteht, sondern ganz normal eine statische Ressource, bewirkt der Query-String absolut nichts. Es kommen dieselben Header (auch im Hinblick auf Caching) zurück, wie ohne.

Eine Änderung im Query-String hat allerdings die Wirkung, beim Client als eine andere URL angesehen zu werden. Wenn diese noch nicht im Cache ist, werden neue Requests an den Server geschickt. Und das ist ja genau, was man haben möchte.

- Sven Rautenberg