答案1
您没有在响应标头中定义任何缓存控制。根据RFC 7231, 4.3.1:
GET 请求的响应是可缓存的;缓存可以使用它来满足后续的 GET 和 HEAD 请求,除非
Cache-Control
标头字段另有指示([RFC7234] 第 5.2 节)。
你可以使用no-cache
指定浏览器不应缓存图像或例如max-age=2592000
指定它们可以缓存一个月。还有Expires
用于表达响应被视为过时的日期/时间。
由于没有针对缓存的特定控制,并且 HTTP/1.1 规范没有定义默认的缓存行为,浏览器可以根据需要缓存你的图片. 来自 Ilya GrigorikHTTP 缓存:
浏览器发出的所有 HTTP 请求都会首先路由到浏览器缓存,以检查是否存在可用于满足请求的有效缓存响应。如果匹配,则从缓存中读取响应,这样既可以消除网络延迟,又可以消除传输产生的数据成本。
答案2
我访问了您的网站,脚本被浏览器缓存。图片也被缓存,但不是由浏览器缓存,而是通过 javascript 缓存。请检查您的图片加载脚本。