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 模式语法。如果values
和excludedValues
都匹配,则excludedValues
优先。
浏览器兼容性
webextensions.api.declarativeNetRequest.RuleCondition.responseHeaders
加载中…
webextensions.api.declarativeNetRequest.RuleCondition.excludedResponseHeaders
加载中…