CDN强缓存的问题,无缓存控制或过期标题



我们正在使用azure cdn使用图像,我试图理解为什么即使没有缓存控制或到期的标题,也要在网络浏览器上强烈浏览图像。图像响应。

例如,从Azure CDN返回以下响应标头:

HTTP/1.1 200 OK
Accept-Ranges: bytes
Access-Control-Allow-Origin: *
Content-MD5: KuQCJm6GQyEjejWwmRgRwQ==
Content-Type: image/jpeg
Date: Tue, 21 Nov 2017 00:15:57 GMT
Etag: 0x8D523228F0F4C42
Last-Modified: Sat, 04 Nov 2017 01:22:47 GMT
Server: ECAcc (meb/A744)
X-Cache: HIT
x-ms-blob-type: BlockBlob
x-ms-lease-status: unlocked
x-ms-request-id: 00822b7c-001e-0045-4194-61d246000000
x-ms-version: 2009-09-19
Content-Length: 5143
<<image data>>

您可以看到 ETAG 返回标题,但没有 cache-control 到期

从浏览器(Chrome)中追踪网络流量(使用提琴手)时,我们没有看到任何随后对这些图像的请求。

我对ETAGS的理解是,随后的此图像请求应将其发送回服务器(弱缓存),然后服务器可以返回 304如果文件未更改,则未修改响应。

任何人都可以对此发明任何启示?

我认为您需要标题缓存控制:必备的浏览器以检查源以检查源,如果没有更改,则返回304 MOT。

这在缓存方面并不是最佳的。

您最好使用QS更改(" V =?")或设置短期到期/最大AGE标头(60/120秒,或者您可以在部署方面可以处理的任何东西,5分钟5分钟???)。

在到期后,浏览器将接收到未从服务器进行修改的304,将其与ETAG结合使用。

最新更新