it-swarm.com.de

HTML - Maximales Alter der Cache-Kontrolle

Ich möchte dem Benutzer immer den neuesten Inhalt der Website präsentieren, er muss ihn aber auch schnell laden. Durch Nachforschungen bin ich auf Postings gestoßen, die vorgeschlagen haben, den Cache zum Beschleunigen des Ladens zu verwenden. 

Was muss ich also meiner Website hinzufügen, um den Cache nach 3 Tagen zu "überschreiben", um den neuesten Inhalt anzuzeigen?

19
Uli

Es gibt mehr als einen Weg, dies zu tun - aber Sie müssen genau überlegen, was Sie zwischenspeichern müssen und was Sie nicht tun. Die größten Geschwindigkeitssteigerungen werden wahrscheinlich davon ausgehen, dass Ihre Assets (CSS, Bilder, Javascript) zwischengespeichert werden und nicht die HTML-Datei selbst. Sie müssen dann verschiedene Faktoren untersuchen (wie oft ändern sich diese Assets, wie zwingen Sie einen Benutzer, eine neue Version der Datei herunterzuladen, die Sie ändern?).

Oft werden neue Dateien (aktualisierte Dateien) im Rahmen eines Website-Veröffentlichungsprozesses mit einem neuen Dateinamen versehen, damit der Browser des Benutzers die Datei erneut herunterladen muss. Dies ist jedoch nur ein Ansatz.

Sie sollten sich Apache mod_expire ansehen und die Möglichkeit haben, Verfallszeiten für Assets mithilfe der .htaccess-Datei festzulegen.

http://www.google.com/?q=Apache+cache+control+htaccess#q=Apache+cache+control+htaccess

11
calumbrodie

Der Cache-Control-Header wird in HTTP 1.1 verwendet, um das Verhalten von Caches zu steuern. Die Max-Age-Direktive wird verwendet, um (in Sekunden) das maximale Alter des Inhalts anzugeben, bevor dieser veraltet wird (d. H., Der Inhalt wird sich über einen bestimmten Zeitraum nicht ändern). Wenn Sie also wissen, dass sich Ihr Inhalt für 3 Tage nicht ändert, möchten Sie, dass Ihr Server den folgenden HTTP-Header hinzufügt:

Cache-Control: max-age=259200

(259200 = 60s x 60m x 24h x 3d)

Um dies in PHP zu tun, fügen Sie Ihrer Ausgabe diese Zeile hinzu:

header('Cache-Control: max-age=259200');

Lesen Sie hier weitere Informationen zur Header-Funktion:

16
james.garriss

Wie erwähnt, sind Expires und Cache-Control-Header normalerweise die beste Möglichkeit, Informationen über die Lebensdauer von Informationen zu berücksichtigen.

Da Kunden diese Informationen nicht sehr zuverlässig interpretieren, werden Proxies mit Zwischenspeicherungsfunktionen wie Tintenfisch, Lack oder solche Lösungen von den meisten Leuten bevorzugt. Sie müssen auch berücksichtigen, ob Sie nur statische Inhalte (wie Bilder, Stylesheets, ..) oder dynamisch generierte Inhalte zwischenspeichern möchten.

1
fyr

Gemäß den Empfehlungen von YSlow können Sie Ihren Webserver so konfigurieren, dass der Antwort ein Expires- oder ein Cache-Control-HTTP-Header hinzugefügt wird, der dazu führt, dass Benutzerprogramme die Antwort für die angegebene Dauer zwischenspeichern.

0
Darin Dimitrov