diff --git a/cmd/syncthing/gui.go b/cmd/syncthing/gui.go index 30fe2281..2cf441c2 100644 --- a/cmd/syncthing/gui.go +++ b/cmd/syncthing/gui.go @@ -1267,7 +1267,10 @@ func (s embeddedStatic) ServeHTTP(w http.ResponseWriter, r *http.Request) { } w.Header().Set("Content-Length", fmt.Sprintf("%d", len(bs))) w.Header().Set("Last-Modified", modified.UTC().Format(http.TimeFormat)) - w.Header().Set("Cache-Control", "public") + // Strictly, no-cache means the same as this. However FF and IE treat no-cache as + // "don't hold a local cache at all", whereas everyone seems to treat this as + // you can hold a local cache, but you must revalidate it before using it. + w.Header().Set("Cache-Control", "max-age=0, must-revalidate") w.Write(bs) }