如何进行参数顺序识别配置?

功能说明

通常 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 中的参数重新排序后进行缓存匹配,所以将有可能无法匹配之前已缓存的文件,导致回源带宽增大,所以请谨慎开启,建议在刚创建新服务时开启;

  • 该特性依赖于参数跟随特性,也即过滤参数在关闭的状态下才会有效。

这篇文章有帮助吗?

相关文章