Browser & Cache
B.Nutzer
- browser
2 Felix Riesterer0 hotti
Hallo,
ich betreue einen Webshop wo verschiedene Benutzer (Mitarbeiter), diverse Bilder via Browser zu den Artikel hochladen. Nun, spielt der Browser Cache den Mitarbeitern hin und wieder einen Streich. (Oder zumindest vermute ich, dass es der Browser Cache ist).
Wenn bereits ein Bild zum Artikel vorhanden ist und der Mitarbeiter dieses Bild durch ein neues Bild (Upload-Funktion) ersetzt, passiert es hin und wieder dass der Browser das alte Bild anzeigt, weil er es noch im Cache hat.
Kann man dem Browser von Serverseite aus verbieten, den Cache zu benutzen?
Lieber B.Nutzer,
Du könntest natürlich die Bilddateien mit passenden Header-Daten ausliefern, die das Caching unterbinden. Das ist aber nicht wünschenswert, denn Caching ist sehr sinnvoll.
Meiner Meinung nach wäre es besser, die neuen Bilder unter einem neuen Dateinamen abzuspeichern, sodass der Browser erkennt, dass es sich um ein neues Bild handelt.
Ich kann jetzt nicht sagen, ob es bereits genügt, wenn die Webshop-Software an den Bilddateinamen einen URL-Parameter anhängt, der mit dem Zeitpunkt der letzten Änderung zu tun hat. Denn "bild.jpg" ist für den Browser etwas völlig anderes als "bild.jpg?time=123456". Wenn nun alle Bilddateien mit einem solchen Zeit-Parameter ausgeliefert werden, dann sollte meines Wissens nach der Browser jede Datei mit passendem URL-Parameter wiedererkennen und aus dem Cache holen, so wie er es mit den Bilddateien ohne URL-Parameter auch getan hat. Aber das bedeutet, dass auch eine Webshop-Seite nicht mehr wie herkömmlich gecached werden kann, denn die möglicherweise geänderten URL-Parameter ihrer Bilddateien bekommt der Browser ja sonst auch nicht mit...
Liebe Grüße,
Felix Riesterer.
hi,
Kann man dem Browser von Serverseite aus verbieten, den Cache zu benutzen?
Sofern der Browser überhaupt am Server anfragt (Request) gibt es einige Möglichkeiten, das spätere Cache-Verhalten zu beeinflussen, z.B. Etag oder Last-Modified (Response-Header).
Hotti