首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带有查询字符串的Azure CDN缓存

带有查询字符串的Azure CDN缓存
EN

Stack Overflow用户
提问于 2018-07-19 11:10:36
回答 1查看 2K关注 0票数 2

我对Azure CDN目前面临的一个问题很好奇,我对此没有答案。因此,我配置了一个CDN配置文件和端点,以缓存存储在存储容器中的某些内容。在缓存行为中,我使用默认(忽略查询字符串)。因此,我修改了容器中的一个文件,并且能够从容器中检索修改后的文件,但不能从CDN边缘检索,因为边缘正在返回文件的前一个缓存版本。因此,我继续对CDN中的文件进行清除,在清除之后,我能够获得文件的修改版本。但是,如果我使用任何querystring参数向cdn边缘请求文件,我将得到文件的原始版本,而不是文件的修改版本。

通过edge请求文件的示例:

w/o:path#/hh.min.css ->它给了我修改后的版本

w:path#/hh.min.css?v=0.5 ->它给了我原来的版本

w (2):path#/hh.min.css?a=b ->它给了我原来的版本

知道为什么会这样吗?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-27 17:27:05

最有可能的情况是查询的使用使用缓存的资产,正如在documentation中提到的

忽略查询字符串:默认模式。在这种模式下,CDN点位( POP ) 节点在第一个请求时将查询字符串从请求者传递到源服务器,并缓存资产。从POP提供的对资产的所有后续请求都忽略查询字符串,直到缓存的资产过期为止。

所以我猜缓存的资产还没有过期。为了避免这个问题,您应该考虑绕过查询字符串的缓存:

用于查询字符串的旁路缓存:在这种模式下,带有查询字符串的请求不会缓存在CDN节点上。POP节点直接从源服务器检索资产,并将其传递给每个请求的请求者。

如果上面的选项导致延迟,我建议调整缓存规则。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51421160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档