Fix: Deploys blieben bei Besuchern bis zu 4 Std im Browser-Cache haengen
Nutzer-Report: sah den Nav-Fix und die neue installierbare Verwaltungsseite trotz erfolgreichem Deploy nicht. Ursache: Express schickt standardmaessig KEIN Cache-Control mit -- da die Seite hinter Cloudflare (orange-cloud) liegt, sprang Cloudflare dafuer mit seinem eigenen Standardwert ein (Browser Cache TTL 4 Std, per curl bestaetigt: max-age=14400). Ein frischer Deploy war dadurch bis zu 4 Std lang im eigenen Browser-Cache jedes/jeder Besuchers unsichtbar. Cloudflare respektiert ein vom Origin gesetztes Cache-Control -- jetzt explizit "no-cache" gesetzt (erzwingt Revalidierung per ETag bei jedem Laden, kein Performance-Verlust durch schnelle 304-Antworten bei unveraendertem Inhalt). Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
@@ -71,6 +71,26 @@ app.use((req, res, next) => {
|
||||
next();
|
||||
});
|
||||
|
||||
/* Bugfix 20.08.2026 (Nutzer-Report: "ich kann sie immer noch nicht runter
|
||||
laden und die leiste oben ist immer noch so groß", NACHDEM der jeweilige
|
||||
Fix schon deployed war): Express selbst schickt standardmäßig GAR KEIN
|
||||
Cache-Control mit (nur ETag/Last-Modified). Weil dogfather-universe.com
|
||||
hinter Cloudflare liegt (orange-cloud-Proxy), springt Cloudflare bei
|
||||
fehlendem Origin-Cache-Control mit seinem EIGENEN Standardwert ein
|
||||
("Browser Cache TTL", per curl bestätigt: 4 Stunden = max-age=14400) —
|
||||
ein frischer Deploy war dadurch für Besucher:innen bis zu 4 Std lang im
|
||||
eigenen Browser-Cache unsichtbar, obwohl der Server längst die neue
|
||||
Version ausliefert. Cloudflare respektiert laut Doku ein vom Origin
|
||||
gesetztes Cache-Control statt seinen Standardwert zu benutzen — deshalb
|
||||
hier explizit "no-cache" (erzwingt bei jedem Laden eine Revalidierung
|
||||
per ETag/If-None-Match, liefert bei unverändertem Inhalt ein schnelles
|
||||
304 statt die ganze Datei erneut zu senden — kein "gar nicht cachen",
|
||||
nur "nie blind auf einen alten Stand vertrauen"). */
|
||||
app.use((req, res, next) => {
|
||||
res.setHeader("Cache-Control", "no-cache");
|
||||
next();
|
||||
});
|
||||
|
||||
app.use(express.static(SITE_DIR, { index: "index.html" }));
|
||||
|
||||
app.use((req, res) => {
|
||||
|
||||
Reference in New Issue
Block a user