Update zum CSS-Caching

Avatar of Chris Coyier
Chris Coyier am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

css-caching

Es gab viele großartige Kommentare zum Artikel CSS-Caching. Ich habe viel aus diesen Kommentaren gelernt und möchte daher einige Missverständnisse ausräumen und einige der großartigen Tricks hervorheben, die andere geteilt haben.

  • Es ist der Browser, der das Caching durchführt, aber der Server kann ein Mitspracherecht haben. Viele Browser fragen den Server zuerst, ob sie die CSS-Datei erneut herunterladen müssen, und der Server antwortet. Manchmal antwortet der Server mit einer 304 (Nicht geändert), die dem Browser mitteilt, dass er seine eigene gecachte Kopie verwenden soll. Anscheinend, wenn Sie Ihr CSS auf dem Server ändern und den Browser fast sofort aktualisieren, hat der Server dies möglicherweise noch nicht mitbekommen und antwortet mit einer 304, und Ihr Browser verwendet seine gecachte Kopie. (Danke Eric)
  • Sie können Ihre Servereinstellungen (wenn Sie Apache verwenden) ändern, um CSS-Dateien nach einer Sekunde "ablaufen" zu lassen. Siehe 2. Kommentar. Dies erzielt den gleichen Effekt wie Zeitstempel, da der Browser dem Browser immer mitteilt, dass er die CSS-Datei neu herunterladen soll. (Danke Joshua)
  • Wenn Sie eine Versionsverwaltungssoftware verwenden, ist das Hinzufügen von Versionsinformationen am Ende des CSS-Links wahrscheinlich eine klügere Vorgehensweise. (Danke August)
  • Anstatt das genaue Datum und die genaue Uhrzeit am Ende des CSS-Links anzuhängen, ist es noch intelligenter, das Datum und die Uhrzeit der letzten Änderung der Datei anzuhängen. Versuchen Sie stattdessen echo filectime(’/path/to/style.css’); Dies gibt ebenfalls einen Zeitstempel zurück und keine "menschenlesbare" Datumsangabe, was die Leerzeichen im URL-Link eliminiert. (Danke... an alle!)
  • Denken Sie daran, dass Sie in den meisten Browsern SHIFT-REFRESH drücken können, um sie zum erneuten Herunterladen aller benötigten Dateien zu zwingen. Dies ist auch für Ihre Kunden leicht zu erklären! (Danke Paul)