Azure CDN正在添加杂注:无缓存标头
我已经使用标准Akamai层设置了Azure CDN。我的来源是一个网络应用程序。我在我的web.config中设置了缓存控制头,如下所示:Azure CDN正在添加杂注:无缓存标头,azure,azure-cdn,Azure,Azure Cdn,我已经使用标准Akamai层设置了Azure CDN。我的来源是一个网络应用程序。我在我的web.config中设置了缓存控制头,如下所示: <clientCache cacheControlMode="UseMaxAge" cacheControlCustom="public" cacheControlMaxAge="30.00:00:00" /> 请注意pragma:无缓存。我不知道这是从哪里来的。这绝对不是my origin加载缓存的响应。如果点击原点,我会看到为同一图像发送
<clientCache cacheControlMode="UseMaxAge" cacheControlCustom="public" cacheControlMaxAge="30.00:00:00" />
请注意pragma:无缓存。我不知道这是从哪里来的。这绝对不是my origin加载缓存的响应。如果点击原点,我会看到为同一图像发送的以下标题:
Accept-Ranges:bytes
Cache-Control:public,max-age=2592000
Content-Length:2321435
Content-Type:image/jpeg
Date:Mon, 03 Apr 2017 19:41:50 GMT
ETag:"2e7a1f1690a9d21:0"
Last-Modified:Thu, 30 Mar 2017 19:59:05 GMT
Server:Microsoft-IIS/8.0
X-Powered-By:ASP.NET
这意味着,当点击CDN时,它不是从http缓存提供此映像,而是发送ETag,而我正在浪费http往返。我假设罪魁祸首是pragma:未发送缓存头,它覆盖了缓存控制头。我的问题是:
编辑:我还尝试从web.config中删除标记。我仍然看到为图像传输的ETag,而不是从浏览器http缓存提供服务 如果使用chrome查看图像,它似乎不会缓存。它仅在页面中尝试缓存。此pragma标头阻止图标字体在带有https的IE中显示。将css url()更改为使用源代码可以解决此问题。
cache-control:public, max-age=2591903
content-length:2321435
content-type:image/jpeg
date:Mon, 03 Apr 2017 19:34:23 GMT
etag:"2e7a1f1690a9d21:0"
last-modified:Thu, 30 Mar 2017 19:59:05 GMT
pragma:no-cache
server:Microsoft-IIS/8.0 status:200 vary:Accept-Encoding x-powered-by:ASP.NET
Accept-Ranges:bytes
Cache-Control:public,max-age=2592000
Content-Length:2321435
Content-Type:image/jpeg
Date:Mon, 03 Apr 2017 19:41:50 GMT
ETag:"2e7a1f1690a9d21:0"
Last-Modified:Thu, 30 Mar 2017 19:59:05 GMT
Server:Microsoft-IIS/8.0
X-Powered-By:ASP.NET