bkd-mba-fbi / evento-portal

Portal for binding evento rest-api js webapps. With role based navigation.
MIT License
7 stars 2 forks source link

add Cache-Control: no-cache to all index.html pages #149

Closed schefbi closed 10 months ago

schefbi commented 11 months ago

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control?retiredLocale=de

Cache-Control: no-cache

If you want caches to always check for content updates while reusing stored content, no-cache is the directive to use. It does this by requiring caches to revalidate each request with the origin server.

Client sends on every request: If-Modified-Since: If-None-Match:

if same version on server. Server send 304 Not Modified

hupf commented 10 months ago

@schefbi Können wir das effektive Problem noch einmal zusammen besprechen? Ich würde eine Lösung vorziehen in der nicht einfach das Caching ausgeschaltet wird...

schefbi commented 10 months ago

@hupf Spannend wenn ich die app Lokal starte wird auch die index.html des iframe mit 304 gemeldet.

image

Hier wird gegenüber des Test und Prod Servers Cache-Control: no-cache mitgegeben. Auf dem Netlify Server wird Cache-Control: public,max-age=0,must-revalidate mitgegeben.

Wenn ich das Portal auf dem IIS installiere erhalte ich auch immer beim iframe ein 200 anstelle des 304. Wenn ich dann auf dem iis server den Cache-Control: no-cache oder Cache-Control: public,max-age=0,must-revalidate konfiguriere wird die iFrame Seite mit 304 geladen. Ich denke wir können auf dem ngix den Cache-Control Header konfigurieren, damit er für unsere Anforderungen passt.

hupf commented 10 months ago

@schefbi

schefbi commented 10 months ago

@hupf Auf der Produktion hatte die Schule das gemerkt. Bei dieser Version hatten wir noch keine Serviceworker integriert. Ich werde diese Version nun einmal auf Test deployen dann können wir sehen ob es sich korrekt verhält.

schefbi commented 10 months ago

@hupf Es kommt auf evt-test.apps.be.ch immer noch ein 200er es müsste doch ein 304 kommen? image

schefbi commented 10 months ago

Gemäss Meeting auf no-cache umstellen.

Note that no-cache does not mean "don't cache". no-cache allows caches to store a response but requires them to revalidate it before reuse. If the sense of "don't cache" that you want is actually "don't store", then no-store is the directive to use. https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control?retiredLocale=de