查询字符串

边缘节点在处理用户请求生成缓存键(Cachekey)时,设置去除请求URL中携带的?以及?之后的查询字符串(例如:用户身份信息、访问渠道来源等),这样有利于提升缓存命中率和缩短页面加载时间。

功能介绍

作用

适用场景

去除请求URL中携带的?以及?之后的参数,不同用户访问同一个文件时,即使携带不同的URL参数,也能够命中同一个缓存文件,可以提高缓存命中率,减少回源次数,提升文件分发效率。

很多用户会通过在请求URL的?后面携带参数的方式,向源站传递访问信息(例如:用户身份信息、访问渠道来源等),URL携带参数以后,不同的客户端访问边缘安全加速 ESA上同一个资源文件会携带不同的参数。

如果您的请求URL中?后面携带参数,但参数差异与资源内容无关,建议您忽略查询字符串。例如:

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

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

如果边缘安全加速 ESA节点直接使用A、B用户的原始URL来处理缓存文件访问请求,将无法命中同一个缓存文件,用户的每次请求都需要回源站获取资源。

设置忽略查询字符串后,边缘安全加速 ESA节点在查找和匹配缓存文件时,会去除URL中?后面UID参数,使用URL:http://example.com/1.jpg来匹配。

操作步骤

  1. 登录ESA控制台

  2. 在左侧导航栏,单击站点管理

  3. 站点管理页面,单击目标站点名称,或对应站点操作列的详情

  4. 在左侧导航栏,选择缓存 > 配置

  5. 查询字符串区域,单击配置,请根据您的实际需求选择过滤模式,完成相关配置。

    image

    假设原始URL为http://example.com/1.jpg?key1=1&key2=2&key3=3,根据设置不同的规则,原始URL经边缘安全加速 ESA处理后结果如下所示。

  6. 参数

    说明

    示例

    全部忽略

    删除请求URL中携带的?以及?之后所有的查询字符串。

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

    全部保留

    保留请求URL中携带的?以及?之后所有的查询字符串。

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

    删除指定查询字符串参数

    删除请求URL中携带的?之后指定的查询字符串。在输入框中输入需要删除的参数,按回车确认。

    如果输入的待删除参数为key1=1key3=3,那么缓存key为http://example.com/1.jpg?key2=2

    保留指定查询字符串参数

    保留请求URL中携带的?之后指定的查询字符串。在输入框中输入需要保留的参数,按回车确认。

    如果输入的待保留参数为key1=1key3=3,那么缓存key为http://example.com/1.jpg?key1=1&key3=3

  7. 单击确定