开启忽略参数功能后,CDN节点在处理用户请求时,会去除请求URL中携带在?
之后的参数(例如:用户身份信息、访问渠道信息),以原始URL来生成缓存hashkey。本文为您详细介绍配置忽略参数的方法。
由于功能特性,自定义CacheKey和忽略参数配置功能存在冲突。开启参数配置功能后,CDN节点在处理用户请求时,会去除请求URL中携带在?
之后的参数,这将导致CacheKey中配置的请求参数失效。开启参数配置功能前,请确保您的自定义Cachekey没有配置。
功能介绍
URL鉴权功能的优先级高于忽略参数。由于鉴权方式A中的鉴权信息包含HTTP请求的参数部分,所以CDN优先进行鉴权判断,鉴权通过后在CDN节点缓存一份副本。配置URL鉴权的操作方法,请参见配置URL鉴权。
忽略参数
作用
适用场景
去除请求URL中
?
之后的参数,不同用户访问同一个文件时,即使携带不同的URL参数,也能够命中同一个缓存文件,可以提高缓存命中率,减少回源次数,提升文件分发效率。很多用户会通过在请求URL的
?
后面携带参数的方式来传递访问信息给源站(例如:用户账号UID、用户渠道来源、推荐码等),URL携带参数以后,不同的客户端访问CDN上同一个资源文件会携带不同的参数。如果您的请求URL中
?
后面携带参数,但参数差异与资源内容无关,建议您开启忽略参数。例如:A用户:
http://example.com/1.jpg?uid=123***
B用户:
http://example.com/1.jpg?uid=654***
如果CDN节点直接使用A、B用户的原始URL来处理缓存文件访问请求,将无法命中同一个缓存文件,用户的每次请求都需要回源站获取资源。
开启忽略参数后,CDN节点在查找和匹配缓存文件时,会去除URL中
?
后面UID参数,使用URL:http://example.com/1.jpg
来匹配。保留回源参数
作用
适用场景
使用原始URL回源,将用户的关键信息传递给源站。
开启忽略参数功能后,CDN节点默认使用经忽略参数处理后的URL回源。上面的例子中,A、B用户的回源请求都会使用URL:
http://example.com/1.jpg
,在回源的时候就会丢失关键信息UID。通过开启保留回源参数功能,CDN节点将会使用原始URL回源,这样就可以把A、B用户的关键信息UID传递给源站。
忽略参数包含两种模式(保留指定参数、删除指定参数),开启忽略参数处理流程图如下所示:
操作步骤
登录CDN控制台。
在左侧导航栏,单击域名管理。
在域名管理页面,找到目标域名,单击操作列的管理。
在指定域名的左侧导航栏,单击性能优化。
单击忽略参数区域的修改配置,请根据您的实际需求选择过滤模式,完成相关配置。
重要切换过滤模式,原有配置会被删除。
过滤模式:保留指定参数
参数
说明
示例
忽略参数
是:开启忽略参数功能,用户请求回源时会去除URL中
?
之后的参数。说明如果仅开启过忽略参数开关,不设置具体的保留指定参数时,表示去除
?
之后的所有参数。否:关闭忽略参数功能。
假设原始URL为
http://example.com/1.jpg?key1=1&key2=2&key3=3
,实现特定的功能场景,设置参数后,原始URL经CDN处理后结果如下:示例一,过滤所有参数+使用忽略参数处理后的URL回源:
配置:忽略参数设置为是,保留指定参数为空,保留回源参数设置为否。
缓存key:
http://example.com/1.jpg
回源URL:
http://example.com/1.jpg
示例二,保留指定参数+使用忽略参数处理后的URL回源:
配置:忽略参数设置为是,保留指定参数设置为
key1
,保留回源参数设置为否。缓存key:
http://example.com/1.jpg?key1=1
回源URL:
http://example.com/1.jpg?key1=1
示例三,过滤所有参数+使用原始URL回源:
配置:忽略参数设置为是,保留指定参数为空,保留回源参数设置为是。
缓存key:
http://example.com/1.jpg
回源URL:
http://example.com/1.jpg?key1=1&key2=2&key3=3
示例四,保留指定参数+使用原始URL回源:
配置:忽略参数设置为是,保留指定参数设置为
key1
,保留回源参数设置为是。缓存key:
http://example.com/1.jpg?key1=1
回源URL:
http://example.com/1.jpg?key1=1&key2=2&key3=3
保留指定参数
配置需要保留的参数,最多可以配置10个保留参数,多个参数用英文逗号(,)分隔 。
保留回源参数
是:在回源请求中保留原始请求URL中的所有参数。
否:在回源请求中携带的参数与缓存hashkey的参数一致(即,保留了指定的参数)。
规则条件
规则条件能够对用户请求中携带的各种参数信息进行识别,以此来决定某个配置是否对该请求生效。
不使用:不使用规则条件。
选择已配置的规则引擎,新增或修改规则引擎请参见规则引擎。
过滤模式:删除指定参数
参数
说明
示例
删除指定参数
配置需要删除的参数,最多可以配置10个参数,多个参数用空格作分隔符。
假设原始URL为
http://example.com/1.jpg?key1=1&key2=2&key3=3
,实现特定的功能场景,设置参数后,原始URL经CDN处理后结果如下:示例一,删除指定参数+使用忽略参数处理后的URL回源:
配置:删除指定参数设置为
key1
,保留回源参数设置为否。缓存key:
http://example.com/1.jpg?key2=2&key3=3
回源URL:
http://example.com/1.jpg?key2=2&key3=3
示例二,删除指定参数+使用原始URL回源:
配置:删除指定参数设置为
key1
,保留回源参数设置为是。缓存key:
http://example.com/1.jpg?key2=2&key3=3
回源URL:
http://example.com/1.jpg?key1=1&key2=2&key3=3
保留回源参数
是:在回源请求中保留原始请求URL中的所有参数。
否:在回源请求中携带的参数与缓存hashkey的参数一致(即,删除了指定的参数)。
规则条件
规则条件能够对用户请求中携带的各种参数信息进行识别,以此来决定某个配置是否对该请求生效。
不使用:不使用规则条件。
选择已配置的规则引擎,新增或修改规则引擎请参见规则引擎。
单击确定,完成配置。