lokaler apache Webserver. Immer neueste Dateiversion ausliefern, kein cachen des Browser
michaah
- webserver
Ich betreibe einen lokalen Apache2 Webserver auf meinem Debian/sid(uction) Rechner. Dieser dient mir ausschließlich als Testumgebung für die wenigen Webseiten die ich betreue. Dazu habe ich virtelle Server konfiguriert die eben lokal ein paar meineDomains.test ausliefern sowie die /etc/hosts entsprechend angepasst (alles auf einem Rechner). Funktioniert so seit Jahren.
Allerdings habe ich mich hier (im Gegensatz zur Konfiguration beim Hoster der realen öffentlich zugänglichen Website) nie um das cachen gekümmert und das immer manuell per "Browserdaten löschen / Cache leeren)" erledigt ... was umständlich ist und nur unzuverlässig funktioniert ... und mich gestern richtig Zeit und dann auch viel Nerv gekostet hat.
Kurz und gut: Kann ich meinen lokalen WEbserver so konfigurieren, dass der Browser sich veranlaßt sieht immer neu zu laden und das cachen zuverlässig unterläßt?
Wo und wie? (Ich gebe zu, ich bin zu faul, aber vor allem zu genervt da jetzt in Dokus, Google und was weiß ich wo zu suchen und zu blättern und hoffe dass hier jemand Direktzugriff auf diese Info in seiner Hirn-HD hat 😉 )
Hallo,
Ich betreibe einen lokalen Apache2 Webserver auf meinem Debian/sid(uction) Rechner. Dieser dient mir ausschließlich als Testumgebung für die wenigen Webseiten die ich betreue. Dazu habe ich virtelle Server konfiguriert die eben lokal ein paar meineDomains.test ausliefern sowie die /etc/hosts entsprechend angepasst (alles auf einem Rechner). Funktioniert so seit Jahren.
mache ich so ähnlich. Auch seit Jahren. Nur dass der Webserver auf einer separaten Büchse läuft, die gleichzeitig DHCP- und DNS-Server ist (dnsmasq), sowie Fileserver (Samba).
Kurz und gut: Kann ich meinen lokalen WEbserver so konfigurieren, dass der Browser sich veranlaßt sieht immer neu zu laden und das cachen zuverlässig unterläßt?
Jein. Ob ein Client (Browser) einmal angefragte Ressourcen cacht, liegt zunächst in seiner Entscheidung. Der Server kann diese Entscheidung ein kleines bisschen beeinflussen, z.B. indem er mit jeder Ressource einen Expires- und/oder Cache-Control-Header sendet, mit denen er signalisiert, dass die Ressource nur für eine sehr kurze Zeit gültig ist.
Ob der Browser das dann wirklich berücksichtigt, kann der Server nicht beeinflussen. Wenn der entscheidet, dass er die bereits vorhandene Ressource aus dem Cache holt, bekommt der Server das gar nicht mehr mit.
Wo und wie? (Ich gebe zu, ich bin zu faul, aber vor allem zu genervt da jetzt in Dokus, Google und was weiß ich wo zu suchen und zu blättern und hoffe dass hier jemand Direktzugriff auf diese Info in seiner Hirn-HD hat 😉 )
Die bessere Lösung ist IMO, den Browser so einzurichten, dass er immer mit einem If-Modified-Since-Header anfragt. Dann antwortet der Server mit einem "304 Not Modified", wenn die gecachte Ressource noch gültig ist, sonst ganz normal mit 200 und dem aktuellen Datenbestand.
Wie das eingestellt wird, ist von Browser zu Browser verschieden; in meinem Lieblingsbrowser Pale Moon z.B. unter Tools/Advanced Preferences/Performance/Cache/Compare cached pages to pages on the network: Always. Im Firefox ist diese Einstellmöglichkeit anscheinend wieder versteckt worden, da finde ich sie auf die Schnelle nicht.
Live long and pros healthy,
Martin