你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用查询字符串控制 Azure 内容分发网络缓存行为 - 标准层

重要

Microsoft Azure CDN Standard(经典版)将于 2027 年 9 月 30 日停用。 为了避免任何服务中断,请务必在 2027 年 9 月 30 日之前将 Microsoft Azure CDN Standard(经典版)配置文件迁移到 Azure Front Door Standard 层或 Premium 层。 有关详细信息,请参阅 Microsoft Azure CDN Standard(经典版)停用

Edgio 的 Azure CDN 将于 2025 年 11 月 4 日停用。 为了避免服务中断,必须在此日期之前将工作负载迁移到 Azure Front Door。 有关详细信息,请参阅 Edgio 的 Azure CDN 停用常见问题解答

概述

借助 Azure 内容分发网络,可以控制针对包含查询字符串的 Web 请求缓存文件的方式。 在包含查询字符串的 Web 请求中,查询字符串是问号 (?) 后出现的请求部分。 查询字符串可以包含一个或多个键值对,其中字段名称和其值由等号 (=) 分隔。 每个键值对由与号 (&) 分隔。 例如,HTTP://www.contoso.com/content.mov?field1=value1&field2=value2。 如果请求的查询字符串中有多个键值对,它们的顺序并不重要。

重要

Azure 内容分发网络标准和高级产品提供相同的查询字符串缓存功能,但用户界面不同。 本文介绍来自 Microsoft 的标准 Azure CDN0来自 Edgio 的标准 Azure CDN的界面。 有关Edgio 提供的高级 Azure 内容分发网络 的查询字符串缓存,请参阅使用查询字符串控制 Azure CDN 缓存行为 - 高级层

可用的三种查询字符串模式如下:

  • 忽略查询字符串:默认模式。 在此模式下,内容分发网络接入点 (POP) 节点将来自请求者的查询字符串传递到第一个请求上的源服务器并缓存该资产。 所有由 POP 处理的该资产的后续请求将忽略查询字符串,直至缓存的资产到期。

  • 绕过查询字符串的缓存:在此模式下,包含查询字符串的请求不会被缓存在内容分发网络 POP 节点。 POP 节点直接从源服务器检索资产,并将其传递给每个请求的请求者。

  • 缓存每个唯一的 URL:在此模式下,包含唯一 URL 的每个请求(包括查询字符串)将视为具有其自己的缓存的唯一资产。 例如,源服务器对 .ashx?q=test1 的请求做出的响应将缓存在 POP 节点,并为具有同一查询字符串的后续缓存返回该响应。 例如,.ashx?q=test2 请求将作为具有其自己的生存时间设置的单独资产来进行缓存。

    重要

    如果查询字符串包含随每个请求更改的参数(例如会话 ID 或用户名),请不要使用此模式,因为这会导致缓存命中率降低。

为标准内容分发网络配置文件更改查询字符串缓存设置

  1. 打开内容分发网络配置文件,然后选择要管理的内容分发网络终结点。

    内容分发网络配置文件终结点的屏幕截图。

  2. 在左窗格中的“设置”下,选择“缓存规则”。

    内容分发网络缓存规则按钮的屏幕截图。

  3. 在“查询字符串缓存行为”列表中,选择查询字符串模式,然后选择“保存”。

    内容分发网络查询字符串缓存选项的屏幕截图。

重要

由于注册需要一段时间才能在整个 Azure 内容分发网络内传播,因此缓存字符串设置更改可能不会立即显示:

  • 对于 Microsoft 推出的 Azure CDN 标准版配置文件,传播通常可在 10 分钟内完成。
  • 对于 Edgio 提供的标准 Azure CDNEdgio 提供的高级 Azure CDN 配置文件,传播通常在 10 分钟内完成。

下一步