Wie Entkräften Web-Browser-Cache-Inhalt
Habe ich wirklich Graben in der Google Page Speed-Optimierung eine Menge von Websites, die ich arbeite, um auch Gäste auf-und durchaus erfolgreich-ich bin stolz zu sagen.
Ist der einzige Nachteil, die ich habe über kommen, dass Sie durch einige der caching-Zeug wird gemacht, kleine änderungen an JS und CSS neigen nicht dazu führen, dass eine neue Kopie der Dateien herunterladen.
Gibt es eine Möglichkeit, wenn änderungen vorgenommen werden, um die JS, CSS (oder andere Ressourcen) zu zwingen, eine neue Kopie herunterladen?
- Funktioniert der HTTP-server-support - ETag?
- Sicher nicht. Wie kann ich bestimmen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich in ähnliche Probleme manchmal, die JS-und CSS-Cache ist zu lang. Die Lösung, die für mich funktioniert ist, indem eine Versionsnummer oder einen Zeitstempel der letzten Aktualisierung der Dateiname als querystring. Dieser Weg, der browser sieht die Datei als geändert und es wird es erneut herunterladen.
Könnte so etwas wie dieses für immer JS:
Weiß ich, dass dies wohl deutlich, wie Sie sich versammeln konnten, dass die "Versionierung" - Technik für ungültig cache funktioniert für beliebige statische Ressource angefordert, aber im Fall ist es nicht, ich Pfeife hier.
Wir erlauben branding für einige unserer Anwendungen, und das bedeutet, dass Bild-Dateien sehr oft ändern sich im Laufe der Mandanten Leben Sie mit uns, ebenso andere statische Dateien, die zuvor erwähnt. Wenn der gleiche name verwendet werden für eine Datei, die Zwischenspeicherung würde ein problem darstellen. Ausgezeichnet ist die Idee der Versionierung die Quelle eines Bildes funktioniert genauso gut.
Auch, es ist wahrscheinlich nicht wichtig, das zu erwähnen, aber der Begriff "ungültig cache" in dieser Hinsicht, ist technisch nicht korrekt. Zur Invalidierung von cache zu entfernen, die cache-Einträge. Es gibt keinen wirklichen Weg, um wirklich programmgesteuert tun Sie dies für einen browser. Das, was wir eigentlich sind, von denen hier die Rede ist, fragt der web-server für eine neue Datei durch den Namen der Datei ändern, nicht forceably entfernen der original-Datei. Man kann dies leicht testen, indem eine Datei-version hin und her zwischen eine ungenutzte version und eine ältere version verwendet, und zu sehen, die HTTP 200 und 304 Antworten jeweils.
Werfen Sie einen Blick auf die HTML5 Boilerplate. http://html5boilerplate.com/ Es macht eine Menge von dem Zeug Sie sich Gedanken darüber automatisch und es nicht umgehen cache-Invalidierung durch Verwendung unterschiedlich benannt css-Dateien jedes mal, wenn Sie geändert werden.
Relevanten Ausschnitt aus dem gebündelt .htaccess: