declarativeNetRequest.ModifyHeaderInfo

Der Anforderungs- oder Antwortheader, der für eine Anforderung geändert werden soll, wird im rule.action.requestHeaders-Array oder rule.action.responseHeaders-Array für Regeln deklariert, deren rule.action.type "modifyHeaders" ist.

Jedes Objekt beschreibt eine Header-Änderung. Um mehrere Header zu ändern, können mehrere Objekte in diesen Arrays oder über mehrere Regeln hinweg angegeben werden.

Passende modifyHeaders-Regeln werden in der Reihenfolge angewendet, die unter Matching precedence beschrieben ist. Innerhalb einer Erweiterung werden alle modifyHeaders-Regeln mit einer Priorität, die niedriger oder gleich den passenden allow- oder allowAllRequests-Regeln ist, ignoriert.

Wenn mehrere modifyHeaders-Regeln denselben Header angeben, wird die resultierende Änderung des Headers basierend auf der Priorität jeder Regel und den angegebenen Operationen bestimmt:

  • Wurde ein Regelwert an einen Header angehängt, können Regelwerte mit niedrigerer Priorität nur an diesen Header anhängen. set- und remove-Operationen sind nicht erlaubt.
  • Wurde ein Header von einer Regel gesetzt, können Regelwerte mit niedrigerer Priorität den Header nicht ändern, ausgenommen append-Regeln aus derselben Erweiterung.
  • Wenn ein Header von einer Regel entfernt wurde, können Regelwerte mit niedrigerer Priorität den Header nicht ändern.

Typ

Werte dieses Typs sind Objekte. Sie enthalten folgende Eigenschaften:

Ein string. Der Name des Headers, der geändert werden soll.

operation

Ein string. Die Operation, die an einem Header durchgeführt werden soll. Mögliche Werte sind "append", "set" und "remove".

value Optional

Ein string. Der neue Wert für den Header. Muss für Anfüge- und Setzoperationen angegeben werden. Nicht erlaubt für die "remove"-Operation.

Header-Beschränkungen

In Chrome wird "append" für die folgenden Anfrage-Header unterstützt:

  • Accept
  • Accept-Encoding
  • Accept-Language
  • Access-Control-Request-Headers
  • Cache-Control
  • Connection
  • Content-Language
  • Cookie
  • Forwarded
  • If-Match
  • If-None-Match
  • Keep-Alive
  • Range
  • Te
  • Trailer
  • Transfer-Encoding
  • Upgrade
  • Via
  • Want-Digest
  • X-Forwarded-For

In Firefox benötigt die Erweiterung Host-Berechtigungen für den neuen Wert des Host-Headers.

Browser-Kompatibilität

webextensions.api.declarativeNetRequest.RuleAction.requestHeaders

webextensions.api.declarativeNetRequest.RuleAction.responseHeaders