bilder, javascript, css cachen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
angeben
angriff
anweisung
apache
bedenken
bild
browser
datei
datum
entsprechende url
header
hinterkopf
http
kontrolle
sagen
server
steuer
url
verfallsdatum
verzeichnis
-
Ich habe eine Seite, die auf einer php datei aufbaut, die in jedem Fall nicht gecachscht wird. Aber ich habe auch einige Bilder, Javascripts und css Datein, die sich eher selten ändern, diese möchte ich cachen. Soweit bekomme ich das auch hin.
Meine Frage ist jetzt ob ich in dieser php dem Browser sagen kann, dass ein Javascript, Bild oder css vor seinem Verfallsdatum "schelcht geworden" ist und neugeladen werden muss? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Unter Apache kannst du das Caching einfach über die .htaccess-Datei steuern. Hier kannst du dann für jeden Dateitypen angeben, wie lange der Browser das Bild im Cache speichern soll, bis es dann vom Server neu geladen wird. Ein Beispiel dafür findest du hier.
Natürlich kannst du das auch über den HTTP-Header erreichen. Wichtig ist hier das Feld "Expires" bzw "Cache-Control".
Allerdings solltest du auch immer bedenken, dass diese Anweisungen auf dem Rechner des Nutzers liegen. Das heißt, dass ein Nutzer, der zum ersten Mal deine Seite besucht in jedem Fall die Dateien herunterladen muss und somit Rechenlast erzeugt. Auch vor DoS- oder DDoS-Angriffen stellen diese Caching-Methoden nur bedingt einen Schutz dar, denn ob der Client die Daten von deinem Server entgegen der Anweisung trotzdem erneut herunterlädt bleibt ja letztendlich ihm überlassen.
Wenn du das im Hinterkopf behältst, ist derartiges Caching aber durchaus zu empfehlen.
Beitrag zuletzt geändert: 23.3.2013 17:27:25 von mermadalis -
Das weiß ich schon, mir geht es darum, über eine php Datei, welche nicht gecacht wird, dem Browser zu sagen, dass die anderen Dateien geändert worden sind, bevor der Browser sie normalerweise neuladen würde.
-
Du könntest einen sinnlosen, aber einmaligen Parameter wie den aktuellen Timestamp an die entsprechende URL der zu aktualisierenden Dateien anhängen.
-
Hab es jetzt so gelöst:
Am anfang der php Datei initialisiere ich 3 Variablen $pbilder $pjs $pcss mit dem Verzeichnis indem bilder, css, js gerade sind. Diese werden vom browser auf unbestimmte Zeit gecacht und bei einem Update wird das Verzeichnis einfach geändert.
Was haltet ihr davon?
Beitrag zuletzt geändert: 24.3.2013 12:57:50 von unlikus -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage