忽略参数

更新时间:
复制为 MD 格式

开启忽略参数后,CDN节点会去除请求URL?之后的参数,使不同参数的请求命中同一缓存,从而提高缓存命中率。本文介绍忽略参数的配置方法。

功能对比与选择

  • 自定义Cache Key与忽略参数存在冲突:开启忽略参数后,节点会去除URL?之后的参数,导致自定义Cache Key中的请求参数配置失效。使用自定义Cache Key前,请关闭忽略参数。

  • 自定义Cache Key功能更全面,可替代忽略参数的缓存键配置,推荐优先使用。配置对比:

    场景

    忽略参数

    自定义Cache Key

    在缓存键中忽略所有请求参数

    忽略参数设置为是,保留指定参数留空

    添加一条请求参数处理策略:

    • 操作方式:保留

    • 参数名:设为任意不存在的参数名,例如 example-argument

    在缓存键中仅保留请求参数key1

    忽略参数设置为是,保留指定参数设置为key1

    添加一条请求参数处理策略:

    • 操作方式:保留

    • 参数名:key1

    在缓存键中仅删除请求参数key1

    删除指定参数设置为key1

    添加一条请求参数处理策略:

    • 操作方式:删除

    • 参数名:key1

  • 重写回源参数功能更全面,可替代忽略参数的回源参数重写,推荐优先使用。

功能介绍

说明

URL鉴权的优先级高于忽略参数。鉴权方式A的鉴权信息包含URL参数部分,CDN会先完成鉴权判断,通过后再缓存副本。配置URL鉴权的方法,请参见配置URL鉴权

  • 忽略参数

    作用

    适用场景

    去除请求URL?之后的参数,使携带不同参数的请求命中同一缓存文件,提高缓存命中率、减少回源次数。

    URL?后的参数与资源内容无关(如用户UID、渠道来源、推荐码等),建议开启忽略参数。

    例如,以下两个请求访问同一资源但携带不同UID:

    • A用户:http://example.com/1.jpg?uid=123***

    • B用户:http://example.com/1.jpg?uid=654***

    未开启忽略参数时,CDN节点会将A、B用户的URL视为不同资源,无法命中同一缓存,每次都需回源。

    开启忽略参数后,CDN节点会去除URL?后的参数,统一使用http://example.com/1.jpg匹配缓存。

  • 保留回源参数

    作用

    适用场景

    回源时保留原始URL中的所有参数,确保源站能接收到用户的关键信息。

    开启忽略参数后,CDN节点默认使用去除参数后的URL回源。以上述示例为例,A、B用户的回源请求都使用http://example.com/1.jpg,UID等关键信息会丢失。

    开启保留回源参数后,CDN节点将使用原始URL回源,确保UID等参数传递给源站。

忽略参数支持两种模式(保留指定参数、删除指定参数),处理流程如下:

image

操作步骤

  1. 登录CDN控制台

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

  3. 域名管理页面,找到目标域名,单击操作列的管理

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

  5. 单击忽略参数区域的修改配置,根据实际需求选择模式并完成配置。

    重要

    切换模式后,原有配置将被清除。

    • 模式:保留指定参数

      参数

      说明

      示例

      忽略参数

      • :开启忽略参数,去除URL?之后的参数。

        说明

        仅开启忽略参数而未设置保留指定参数时,将去除?之后的所有参数。

      • :关闭忽略参数,保留所有URL参数。

      假设原始URLhttp://example.com/1.jpg?key1=1&key2=2&key3=3,各配置的处理结果如下:

      • 示例一,忽略所有参数,不保留回源参数

        • 配置:忽略参数=保留指定参数留空,保留回源参数=

        • 缓存key:http://example.com/1.jpg

        • 回源URL:http://example.com/1.jpg

      • 示例二,保留指定参数,不保留回源参数

        • 配置:忽略参数=保留指定参数=key1保留回源参数=

        • 缓存key:http://example.com/1.jpg?key1=1

        • 回源URL:http://example.com/1.jpg?key1=1

      • 示例三,忽略所有参数,保留回源参数

        • 配置:忽略参数=保留指定参数留空,保留回源参数=

        • 缓存key:http://example.com/1.jpg

        • 回源URL:http://example.com/1.jpg?key1=1&key2=2&key3=3

      • 示例四,保留指定参数,保留回源参数

        • 配置:忽略参数=保留指定参数=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个,多个参数用空格分隔。

      假设原始URLhttp://example.com/1.jpg?key1=1&key2=2&key3=3,各配置的处理结果如下:

      • 示例一,删除指定参数,不保留回源参数

        • 配置:删除指定参数=key1保留回源参数=

        • 缓存key:http://example.com/1.jpg?key2=2&key3=3

        • 回源URL:http://example.com/1.jpg?key2=2&key3=3

      • 示例二,删除指定参数,保留回源参数

        • 配置:删除指定参数=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. 单击确定,完成配置。