所以,我想在我的css和js文件中添加版本。我想这样做的方法是将一个查询字符串附加到资产路径的末尾,以便
/foo/bar/baz.css
变为
/foo/bar/baz.css?version=1
这适用于代理和浏览器缓存,但是,我想知道Akamai是否会知道这是一个新文件并从原始服务器重新请求它?我的假设是它会从原始服务器重新请求该文件,但我想是否有人确切知道。
答案 0 :(得分:4)
是。它匹配所有GET请求的确切URL。
答案 1 :(得分:4)
不完全。这取决于CDN配置。查询字符串值通常不是缓存键的一部分。因此,在设置CDN传递配置时,请确保明确添加选项以将查询字符串作为缓存键的一部分包含在内。否则,由于缓存密钥不会根据查询字符串值(在本例中为资产版本)而变化,因此最终会提供不一致的版本。
答案 2 :(得分:0)
我更喜欢像'/css/DEVELOPER_BASE/foo/baz/style.css'这样的网址。
您的构建/部署脚本执行全局查找并将'/ css / DEVELOPER_BASE /'替换为'/ css / [version_number] /'
为了使这项工作,你有两个选择。
这将使您不必担心浏览器和CDN如何处理查询参数。