From 8371c50c6c133f2b3ac888449f668c629445daa5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dalibor=20Markovi=C4=87?= Date: Sat, 13 Jun 2026 10:45:23 +0200 Subject: [PATCH] =?UTF-8?q?fix(cache):=20HTML=20stranice=20no-cache=20da?= =?UTF-8?q?=20nova=20verzija=20odmah=20stigne=20do=20korisnika=20HTML=20ni?= =?UTF-8?q?je=20imao=20Cache-Control,=20pa=20je=20browser=20servirao=20sta?= =?UTF-8?q?ru=20ke=C5=A1iranu=20stranicu=20sa=20starim=20AssetV=20tokenom?= =?UTF-8?q?=20i=20posle=20deploya=20=E2=80=94=20stari=20CSS/JS.=20Dodato?= =?UTF-8?q?=20no-cache=20na=20renderujTemplate=20i=20renderujStandalone:?= =?UTF-8?q?=20browser=20revalidira=20HTML,=20dobija=20sve=C5=BE=20AssetV?= =?UTF-8?q?=20token=20koji=20povla=C4=8Di=20sve=C5=BE=20CSS/JS.=20Statika?= =?UTF-8?q?=20ostaje=20immutable=20+=20=3Fv=3Dverzija.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/handler/kes.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/internal/handler/kes.go b/internal/handler/kes.go index b346ea5..739ab33 100644 --- a/internal/handler/kes.go +++ b/internal/handler/kes.go @@ -85,6 +85,10 @@ func KreirajKes(fsys fs.FS) (map[string]*template.Template, error) { // renderujTemplate renderuje šablon sa base layoutom // U produkciji koristi keš; u razvoju parsuje svaki put (hot reload) func (h *Handler) renderujTemplate(w http.ResponseWriter, ime string, podaci any) { + // HTML se ne kešira: browser uvek revalidira pa posle nove verzije (npr. Docker + // deploy) dobije svežu stranicu sa novim AssetV tokenom, koji onda povlači svež + // CSS/JS. Statika ostaje immutable (URL nosi ?v=verzija). + w.Header().Set("Cache-Control", "no-cache") var tmpl *template.Template if h.Templates != nil { @@ -115,6 +119,8 @@ func (h *Handler) renderujTemplate(w http.ResponseWriter, ime string, podaci any // renderujStandalone renderuje šablon bez base layouta (prijava, setup, itd.) func (h *Handler) renderujStandalone(w http.ResponseWriter, ime string, podaci any) { + // vidi renderujTemplate: HTML se ne kešira da nova verzija odmah stigne do korisnika + w.Header().Set("Cache-Control", "no-cache") var tmpl *template.Template if h.Templates != nil {