过滤参数

开启过滤参数功能后,回源获取资源时会去除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传递给源站。

过滤参数包含两种模式(保留指定参数、删除指定参数),开启过滤参数处理流程图如下所示:过滤参数

操作步骤

  1. 登录DCDN控制台

  2. 在左侧导航栏,单击域名管理

  3. 域名管理页面,单击目标域名对应的配置

  4. 在指定域名的左侧导航栏,单击性能优化

  5. 单击过滤参数区域的修改配置,请根据您的实际需求选择过滤模式,完成相关配置。

    说明

    切换过滤模式将删除原有配置。

    • 过滤模式:保留指定参数过滤参数

      参数

      说明

      示例

      过滤参数

      • :资源回源时会去除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的参数一致(即,删除了指定的参数)。

  6. 单击确定