功能说明
通常 CDN 节点是以整条 URL 为粒度对文件进行缓存的,然而 URL 中参数的不同排列组合使得 CDN 节点会将同一份文件缓存多份,开启参数顺序识别功能之后,可以使得资源文件只缓存一份,从而提高资源文件的缓存命中率。
实现原理
例如下方两条 URL,对应的资源文件是相同的,CDN 节点是分开缓存的:
https://www.upyun.com/test.jpg?a=1&b=2&c=3
https://www.upyun.com/test.jpg?c=3&b=2&a=1
功能开启后,CDN 节点收到用户请求,首先对 URL 中的参数按特有的规则进行排序,然后再查找匹配节点缓存或直接回源获取文件,也就是说下方这些 URL:
https://www.upyun.com/test.jpg?a=1&b=2&c=3
https://www.upyun.com/test.jpg?a=1&c=3&b=2
https://www.upyun.com/test.jpg?b=2&a=1&c=3
https://www.upyun.com/test.jpg?b=2&c=3&a=1
https://www.upyun.com/test.jpg?c=3&a=1&b=2
https://www.upyun.com/test.jpg?c=3&b=2&a=1
最后的结果是,CDN 节点将只缓存一份:
https://www.upyun.com/test.jpg?a=1&b=2&c=3
配置引导
登录 CDN控制台,选择需要配置的服务,依次进入:服务管理 > 功能配置 > 缓存配置 > 参数顺序识别,滑动右边的按钮即可开启。如下图所示:
如上图所示,点击【确定】即可开启。
注意事项
-
开启此功能后,因 CDN 节点会将用户访问 URL 中的参数重新排序后进行缓存匹配,所以将有可能无法匹配之前已缓存的文件,导致回源带宽增大,所以请谨慎开启,建议在刚创建新服务时开启;
-
该特性依赖于参数跟随特性,也即过滤参数在关闭的状态下才会有效。