0
var epoch = time.Unix(0, 0).Format(time.RFC1123)
var headers = map[string]string{
"Expires": epoch,
"Cache-Control": "no-cache, private, max-age=0",
"Pragma": "no-cache",
"X-Accel-Expires": "0",
}
log.Errorln("no cache header")
for k, v := range headers {
rw.Header().Set(k, v)
}
http.ServeFile(rw, req, path)
我在服务器端有上述代码块来提供文件请求。但所提供的文件仍然在浏览器中缓存。 但是,而不是http.ServeFile()我用http.ServeContent()与最后修改时间戳time.Now()。如果请求有相当长的时间差,这将起作用。浏览器是否优先于最后修改时间而不是无缓存头?那么没有缓存头的目的是什么?我做错了什么?文件被浏览器缓存,即使响应没有缓存头