过滤参数
开启过滤参数功能后,回源获取资源时会去除URL请求中携带?
之后的参数,有效提高文件缓存命中率,减少回源次数,节省回源流量,同时提升分发效率。本文为您详细介绍配置过滤参数的方法。
背景信息
开启过滤参数
如果您的URL请求中携带
?
和参数,例如:http://alibaba.com/content?a
,但是这些参数内容优先级不高,可以忽略参数浏览文件时,建议您开启过滤参数。开启过滤参数的作用是忽略URL请求中?
之后的参数,提高全站加速缓存的命中率。例如:第一次访问
http://example.aliyundoc.com/image_01.jpg
,全站加速没有缓存,直接回源访问数据;第二次访问http://example.aliyundoc.com/image_01.jpg?test1
,由于开启了过滤参数,所以?
后的参数无需匹配,即可命中全站加速缓存http://example.aliyundoc.com/image_01.jpg。
关闭过滤参数
如果您的URL请求中携带
?
和参数,但是参数有重要含义,则建议您关闭过滤参数。关闭过滤参数后,访问URL需精确匹配?
之后的参数,提高请求的精确性。例如:第一次访问
http://example.aliyundoc.com/image_01.jpg
,全站加速没有缓存,直接回源访问数据;第二次访问http://example.aliyundoc.com/image_01.jpg?test1
,由于关闭了过滤参数,所以?
后的参数需精确匹配,即无法响应全站加速缓存内容http://example.aliyundoc.com/image_01.jpg
,需要重新回源获取http://example.aliyundoc.com/image_01.jpg?test1
。
URL鉴权功能的优先级高于过滤参数。由于鉴权方式A中的鉴权信息包含HTTP请求的参数部分,所以全站加速优先进行鉴权判断,鉴权通过后在全站加速节点缓存一份副本。配置URL鉴权的操作方法,请参见配置URL鉴权。
功能介绍
过滤参数
作用
适用场景
去除请求URL中
?
之后的参数,不同用户访问同一个文件时,即使携带不同的URL参数,也能够命中同一个缓存文件,可以提高缓存命中率,减少回源次数,提升文件分发效率。很多用户会通过在请求URL的
?
后面携带参数的方式来传递访问信息给源站(例如:用户账号UID、用户渠道来源、推荐码等),URL携带参数以后,不同的客户端访问全站加速上同一个资源文件会携带不同的参数。如果您的请求URL中
?
后面携带参数,但参数差异与资源内容无关,建议您开启过滤参数。例如:A用户:
http://example.com/1.jpg?uid=123***
B用户:
http://example.com/1.jpg?uid=654***
如果全站加速节点直接使用A、B用户的原始URL来处理缓存文件访问请求,将无法命中同一个缓存文件,用户的每次请求都需要回源站获取资源。
开启过滤参数后,全站加速节点在查找和匹配缓存文件时,会去除URL中
?
后面UID参数,使用URL:http://example.com/1.jpg
来匹配。保留回源参数
作用
适用场景
使用原始URL回源,将用户的关键信息传递给源站。
开启过滤参数功能后,全站加速节点默认使用经过滤参数处理后的URL回源。上面的例子中,A、B用户的回源请求都会使用URL:
http://example.com/1.jpg
,在回源的时候就会丢失关键信息UID。通过开启保留回源参数功能,全站加速节点将会使用原始URL回源,这样就可以把A、B用户的关键信息UID传递给源站。
过滤参数包含两种模式(保留指定参数、删除指定参数),开启过滤参数处理流程图如下所示:
操作步骤
登录DCDN控制台。
在左侧导航栏,单击域名管理。
在域名管理页面,单击目标域名对应的配置。
在指定域名的左侧导航栏,单击性能优化。
单击过滤参数区域的修改配置,请根据您的实际需求选择过滤模式,完成相关配置。
说明切换过滤模式将删除原有配置。
过滤模式:保留指定参数
参数
说明
示例
过滤参数
是:资源回源时会去除URL中
?
之后的参数,提高文件缓存命中率。说明如果仅开启过滤参数开关,不设置具体的保留指定参数时,表示去除
?
之后的所有参数。否:资源回源时需精确匹配
?
之后的参数,提高请求的精确性。
假设原始URL为
http://example.com/1.jpg?key1=1&key2=2&key3=3
,实现特定的功能场景,设置参数后,原始URL经全站加速处理后结果如下:示例一,过滤所有参数+使用过滤参数处理后的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经全站加速处理后结果如下:示例一,删除指定参数+使用过滤参数处理后的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的参数一致(即,删除了指定的参数)。
单击确定。