Beim Aktualisieren des CSS einer Website speichern Browser möglicherweise weiterhin die veraltete Version im Cache, was zu Rendering-Problemen führt. In diesem Artikel werden verschiedene Methoden untersucht, um eine Aktualisierung des zwischengespeicherten CSS zu erzwingen.
Um das Caching-Problem zu beheben, ziehen Sie die folgenden Optionen in Betracht:
Was wollen wir erreichen?
Das ideale Caching-Verhalten besteht darin, eine neue Ressource beim ersten Anfordern abzurufen und abzurufen Danach wird es aus dem lokalen Cache gelöscht, bis es abläuft.
Beobachtetes Caching-Verhalten
Um das Caching-Verhalten von Browsern zu verstehen, fasst eine Tabelle verschiedene Szenarien und ihre beobachteten Ergebnisse zusammen.
Type | Cache Headers | Observed Result |
---|---|---|
Static filename | Expiration 1 Year | Taken from cache |
Static filename | Expire immediately | Never caches |
Static filename | None | HTTP 304 (not modified) |
Static query string | Expiration 1 Year | HTTP 304 (not modified) |
Static query string | Expire immediately | HTTP 304 (not modified) |
Static query string | None | HTTP 304 (not modified) |
Random query string | Expiration 1 Year | Never caches |
Random query string | Expire immediately | Never caches |
Random query string | None | Never caches |
Abfragezeichenfolge
Das Anhängen eines zufälligen Parameters an die CSS-URL erzwingt eine neue HTTP 200-Anfrage, jedoch nur während der ersten Begegnung. Nachfolgende Anfragen können immer noch 304s zurückgeben.
Pfadänderung
Das Erstellen eines neuen Pfads bietet eine dauerhaftere Lösung. Sie können den Prozess automatisieren, um den Pfad mit einer Versionsnummer oder einer anderen Kennung neu zu schreiben.
Dateiumbenennung
Ein alternativer Ansatz besteht darin, die CSS-Dateien bei jeder Veröffentlichung umzubenennen, um eine neue Anfrage sicherzustellen wenn auf die aktualisierten Pfade im HTML verwiesen wird.
Das obige ist der detaillierte Inhalt vonWie erzwinge ich eine Aktualisierung zwischengespeicherter CSS-Daten: Abfragezeichenfolge vs. Dateiumbenennung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!