From: qydysky Date: Sun, 21 Jul 2024 12:35:46 +0000 (+0800) Subject: 1 X-Git-Tag: v0.28.20240721124143 X-Git-Url: http://127.0.0.1:8081/?a=commitdiff_plain;h=67221f029d899b4406fe08813e2bc21fc4a7d0f9;p=part%2F.git 1 --- diff --git a/web/Web.go b/web/Web.go index 2dd1fc8..2955aed 100644 --- a/web/Web.go +++ b/web/Web.go @@ -694,20 +694,19 @@ func IsMethod(r *http.Request, method ...string) bool { func NotModified(r *http.Request, w http.ResponseWriter, cuTime time.Time) (notMod bool) { modTimeS := cuTime.Format(time.RFC1123) + modTimeE := cuTime.Format(time.RFC3339) w.Header().Add(`Cache-Control`, `private`) - w.Header().Add(`ETag`, modTimeS) + w.Header().Add(`ETag`, modTimeE) w.Header().Add(`Last-Modified`, modTimeS) - if inm := r.Header.Get(`If-None-Match`); inm == modTimeS { + if inm := r.Header.Get(`If-None-Match`); inm == modTimeE { w.WriteHeader(http.StatusNotModified) return true } - if ims := r.Header.Get(`If-Modified-Since`); ims != "" { - if mod, e := time.Parse(time.RFC1123, ims); e == nil && mod.Equal(cuTime) { - w.WriteHeader(http.StatusNotModified) - return true - } + if ims := r.Header.Get(`If-Modified-Since`); ims == modTimeS { + w.WriteHeader(http.StatusNotModified) + return true } return false }