declarativeNetRequest.HeaderInfo

要匹配的响应标头,在 rule.condition.excludedResponseHeaders 数组或 rule.condition.responseHeaders 数组中声明。如果指定,数组必须非空。

当在 condition responseHeaders 中使用时,如果请求匹配此响应标头条件,则规则匹配。当在 condition excludedResponseHeaders 中使用时,如果请求匹配此响应标头条件,则规则不匹配。

每个对象描述一个要匹配或排除的标头。要检查多个标头,可以在这些数组中指定多个对象,或跨多个规则指定。

注意: 通过标头匹配是一项相对较新的功能。确保在使用它之前进行特性检测以确认其可用性。虽然某些浏览器会在存在未识别的条件时忽略整个规则,但 Chrome 121 至 127 版本会在忽略 responseHeaders 条件的同时应用整个规则。这可能导致匹配到比预期更多的请求,请参阅 Chromium issue 347186592

类型

此类型的值是对象。它们包含以下属性:

一个 string。标头的名称。仅当未指定 values 和 excludedValues 时,此条件才按名称匹配。

values 可选

一个 string 数组。如果指定,当标头的值至少匹配此列表中的一个模式时,此条件将匹配。这支持不区分大小写的标头值匹配以及以下构造:

  • '*' :匹配任意数量的字符。
  • '?' :匹配零个或一个字符。
  • '*''?' 可以用反斜杠进行转义,例如 '\*''\?'
excludedValues 可选

一个 string 数组。如果指定,当标头存在但其值包含此列表中的至少一个元素时,此条件将不匹配。这使用与 values 相同的 glob 模式语法。如果 valuesexcludedValues 都匹配,则 excludedValues 优先。

浏览器兼容性

webextensions.api.declarativeNetRequest.RuleCondition.responseHeaders

webextensions.api.declarativeNetRequest.RuleCondition.excludedResponseHeaders