文档中心 全站加速 去问号缓存

去问号缓存

更新时间:2024-03-26 15:53:45

功能介绍

部分场景下,用户通过 URL 进行资源访问时,可能会携带一些具有特殊作用的参数,如下:
http://www.test.com/1.jpg?versio=1;http://www.test.com/1.jpg?versio=1。 网宿默认缓存完整URL,即参数不同,会缓存多份。 当参数数量较多的情况下,可能会导致缓存文件数量增多,CDN缓存命中率降低,回源量升高。

若“问号前的路径一致,问号后的参数不同”的情况下实际是同一份文件,建议配置去问号缓存。

操作步骤

  1. 登录网宿CDN控制台,选择域名所在的产品线。

  2. 选择域名,单击操作列中的NGB指的是什么

  3. 在自助配置界面选择:缓存优化-去问号缓存,单击添加

  4. 配置生效范围:具体类型。此处提供4种生效范围供选择:
    NGB指的是什么
    1) 指定常用类型: 全部文件、首页

    • 全部文件: 表示该域名的所有请求资源在CDN节点都遵循相同的缓存规则。
    • 首页: 表示仅针对http://domain/或https://domain/这种根目录格式的请求,都会遵循相同的缓存规则。

    2) 指定文件类型。 网宿提供常用的文件类型供选择,也可以自行输入文件类型。匹配该文件类型的请求资源在CDN节点后遵循相同的缓存规则。
    3) 指定URI。可以设定仅部分URL的请求资源在CDN节点都遵循相同的缓存规则。
    4) 指定目录。可以设定仅部分目录下的请求,请求资源在CDN节点都遵循相同的缓存规则。

  5. 配置去问号缓存规则。此处提供3种去问号缓存配置供选择。
    1) 去问号-不带参数缓存。问号后的参数不同也只缓存一份。
      - 去问号回源: 配置“是”表示去问号回源,配置“否”表示按原始请求回源。
    NGB指的是什么

    2) 不去问号-带所有参数缓存。问号后的所有参数都参与缓存,参数不同则缓存多份。
    NGB指的是什么

    3) 不去问号-带部分参数缓存。 自定义配置问号后的哪些参数要参与或不参与缓存。 只有当指定要参与缓存的参数不一致时,才会缓存多份。

    • 保留部分参数: 例如配置name;code,表示问号后的参数中name或code的值不同则会缓存多份,其他参数不影响缓存。
      NGB指的是什么

    • 删除部分参数: 例如配置name;code,表示问号后参数中除了name和code以外的参数都参与缓存,name或code的值不同则不会影响缓存份数。
      NGB指的是什么

  6. 配置回源URL是否要携带问号参数。
    当选择“不带参数缓存”或“带所有参数缓存”时,可以选择不带参数回源或者带所有参数回源。
    当选择“带部分参数缓存”时,也可以配置带部分参数回源。 如下配置表示缓存的时候仅保留name和code参数,其他参数不参与缓存。 回源的时候也仅携带name和code参数,其他参数不携带回源。
    NGB指的是什么

  7. 其他参数按需配置

    参数 描述 示例
    优先级 系统按优先级大小先后执行,优先级较大的优先执行。 10
    忽略大小写 只有大小写区别的URL匹配相同的缓存规则,但分别缓存对应文件。
  8. 配置完毕,单击确认,然后单击下一步。

  9. 单击预部署,预部署后,可以获取到对应的测试节点,可以host节点进行测试。
    NGB指的是什么

  10. Host测试后,确保配置无误,则单击直接部署,预计需要3-5分钟的部署时间。

配置示例

场景一:去问号-不带参数缓存且需要去问号回源。
若加速域名http://www.test.com的配置如下:去问号-不带参数缓存
NGB指的是什么
则:
当访问http://www.test.com/1.jpg?versio=1时,未命中,边缘节点以http://www.test.com/1.jpg回源获取文件后,节点缓存该文件。
当下一次请求URL为http://www.test.com/1.jpg?versio=2时,可以直接命中缓存。即,问号后的参数不参与缓存,只要问号前的路径一致则缓存同一份文件。

场景二:不去问号-带所有参数缓存。
若加速域名http://www.test.com的配置如下:
NGB指的是什么
当访问http://www.test.com/1.jpg?version=1时,未命中,边缘节点以http://www.test.com/1.jpg?Version=1回源获取文件,节点缓存该文件。
若下一次请求URL为http://www.test.com/1.jpg?versio=1时,可以直接命中缓存;
若下一次请求URL为http://www.test.com/1.jpg?versio=2时,则不会命中缓存。
即问号后的参数参与缓存,参数不同则缓存多份。

场景三:不去问号-保留部分参数。
若加速域名http://www.test.com的配置如下:
NGB指的是什么
当访问http://www.test.com/1.jpg?Version=1&Edit=1&Test=1时,未命中,边缘节点以http://www.test.com/1.jpg?Version=1&Edit=1&Test=1回源获取文件后,节点缓存该文件。
若当下一次请求的URL为http://www.test.com/1.jpg?Version=1&Edit=2&Test=1或http://www.test.com/1.jpg?Version=2&Edit=1&Test=1时,不会命中缓存;
若当下一次请求的URL为http://www.test.com/1.jpg?Version=1&Edit=1&Test=2时,可以命中缓存。
即只有问号后的Version和Edit参与缓存,参数不同则缓存多份,其他参数不影响缓存。

场景四:不去问号-删除部分参数。
若加速域名http://www.test.com的配置如下:
NGB指的是什么
当访问http://www.test.com/1.jpg?Version=1&Edit=1&Test=1时,未命中,边缘节点以http://www.test.com/1.jpg?Version=1&Edit=1&Test=1回源获取文件后,节点缓存该文件。
若下一次请求的URL为http://www.test.com/1.jpg?Version=1&Edit=2&Test=1或http://www.test.com/1.jpg?Version=2&Edit=1&Test=1时,都会命中缓存;
若当下一次请求的URL为http://www.test.com/1.jpg?Version=1&Edit=1&Test=2时,不会命中缓存。
即问号后的Version和Edit不参与缓存,非Version和Edit的参数会影响缓存。

本篇文档内容对您是否有帮助?
有帮助
我要反馈
提交成功!非常感谢您的反馈,我们会继续努力做到更好!