chrome.webRequest

refresh date: 2026-09-25 robots: noindex

Description

Utilisez l'API chrome.webRequest pour observer et analyser le trafic, et pour intercepter, bloquer ou modifier les requêtes en cours.

Autorisations

webRequest

Fichier manifeste

Vous devez déclarer l'autorisation "webRequest" dans le fichier manifeste de l'extension pour utiliser l'API de requête Web, ainsi que les autorisations d'hôte nécessaires. Pour intercepter une requête de sous-ressource, l'extension doit avoir accès à l'URL demandée et à son initiateur. Exemple :

{
  "name": "My extension",
  ...
  "permissions": [
    "webRequest"
  ],
  "host_permissions": [
    "*://*.google.com/*"
  ],
  ...
}

Depuis Chrome 108, vous pouvez fournir des identifiants de manière asynchrone pour les événements onAuthRequired si vous utilisez les autorisations "webRequest" et "webRequestAuthProvider".

Cycle de vie des requêtes

L'API de requête Web définit un ensemble d'événements qui suivent le cycle de vie d'une requête Web. Vous pouvez utiliser ces événements pour observer et analyser le trafic. Certains événements synchrones vous permettent d'intercepter, de bloquer ou de modifier une requête.

Le cycle de vie des événements pour les requêtes réussies est illustré ici, suivi des définitions des événements :

Cycle de vie d'une requête Web du point de vue de l'API webrequest

onBeforeRequest (synchrone, facultatif)
Se déclenche lorsqu'une requête est sur le point de se produire. Cet événement est envoyé avant qu'une connexion TCP ne soit établie et peut être utilisé pour annuler ou rediriger des requêtes.
onBeforeSendHeaders (synchrone, facultatif)
Se déclenche lorsqu'une requête est sur le point d'être envoyée et que les en-têtes initiaux ont été préparés. L'événement est destiné à permettre aux extensions d'ajouter, de modifier et de supprimer des en-têtes de requête (*). L'événement onBeforeSendHeaders est transmis à tous les abonnés. Différents abonnés peuvent donc tenter de modifier la requête. Pour savoir comment cela est géré, consultez la section Détails de l'implémentation. Cet événement peut être utilisé pour annuler la requête.
onSendHeaders
Se déclenche une fois que toutes les extensions ont eu la possibilité de modifier les en-têtes de requête, et présente la version finale(*). L'événement est déclenché avant l'envoi des en-têtes au réseau. Cet événement est informatif et géré de manière asynchrone. Il ne permet pas de modifier ni d'annuler la demande.
onHeadersReceived (synchrone, facultatif)
Se déclenche chaque fois qu'un en-tête de réponse HTTP(S) est reçu. En raison des redirections et des demandes d'authentification, cela peut se produire plusieurs fois par requête. Cet événement est destiné à permettre aux extensions d'ajouter, de modifier et de supprimer des en-têtes de réponse, tels que les en-têtes Content-Type entrants. Les directives de mise en cache sont traitées avant le déclenchement de cet événement. Par conséquent, la modification d'en-têtes tels que Cache-Control n'a aucune influence sur le cache du navigateur. Il vous permet également d'annuler ou de rediriger la requête.
onAuthRequired (synchrone, facultatif)
Se déclenche lorsqu'une requête nécessite l'authentification de l'utilisateur. Cet événement peut être géré de manière synchrone pour fournir des identifiants d'authentification. Notez que les extensions peuvent fournir des identifiants non valides. Veillez à ne pas entrer dans une boucle infinie en fournissant de manière répétée des identifiants non valides. Cela peut également servir à annuler la requête.
onBeforeRedirect
Se déclenche lorsqu'une redirection est sur le point d'être exécutée. Une redirection peut être déclenchée par un code de réponse HTTP ou par une extension. Cet événement est informatif et géré de manière asynchrone. Il ne vous permet pas de modifier ou d'annuler la demande.
onResponseStarted
Se déclenche lorsque le premier octet du corps de la réponse est reçu. Pour les requêtes HTTP, cela signifie que la ligne d'état et les en-têtes de réponse sont disponibles. Cet événement est informatif et géré de manière asynchrone. Il ne permet pas de modifier ni d'annuler la demande.
onCompleted
Se déclenche lorsqu'une requête a bien été traitée.
onErrorOccurred
Se déclenche lorsqu'une requête n'a pas pu être traitée correctement.

L'API de requête Web garantit que pour chaque requête, onCompleted ou onErrorOccurred est déclenché en tant qu'événement final, à une exception près : si une requête est redirigée vers une URL data://, onBeforeRedirect est le dernier événement signalé.

* Notez que l'API de requête Web présente une abstraction de la pile réseau à l'extension. En interne, une requête d'URL peut être divisée en plusieurs requêtes HTTP (par exemple, pour récupérer des plages d'octets individuelles à partir d'un fichier volumineux) ou peut être gérée par la pile réseau sans communiquer avec le réseau. C'est pourquoi l'API ne fournit pas les en-têtes HTTP finaux envoyés au réseau. Par exemple, tous les en-têtes liés à la mise en cache sont invisibles pour l'extension.

Les en-têtes suivants ne sont actuellement pas fournis à l'événement onBeforeSendHeaders. Cette liste n'est pas nécessairement complète ni stable.

  • Autorisation
  • Cache-Control
  • Connexion
  • Content-Length
  • Hôte
  • If-Modified-Since
  • If-None-Match
  • If-Range
  • Partial-Data
  • Pragma
  • Proxy-Authorization
  • Proxy-Connection
  • Transfer-Encoding

À partir de Chrome 79, les modifications apportées aux en-têtes de requête ont une incidence sur les vérifications CORS (Cross-Origin Resource Sharing). Si les en-têtes modifiés pour les requêtes interorigines ne répondent pas aux critères, une requête préliminaire CORS sera envoyée pour demander au serveur si ces en-têtes peuvent être acceptés. Si vous devez vraiment modifier les en-têtes de manière à enfreindre le protocole CORS, vous devez spécifier 'extraHeaders' dans opt_extraInfoSpec. En revanche, les modifications des en-têtes de réponse ne permettent pas de contourner les vérifications CORS. Si vous devez tromper le protocole CORS, vous devez également spécifier 'extraHeaders' pour les modifications de réponse.

À partir de Chrome 79, l'API webRequest n'intercepte pas les requêtes et réponses CORS préliminaires par défaut. Une vérification préliminaire CORS pour une URL de requête est visible par une extension s'il existe un écouteur avec 'extraHeaders' spécifié dans opt_extraInfoSpec pour l'URL de requête. onBeforeRequest peut également prendre 'extraHeaders' à partir de Chrome 79.

À partir de Chrome 79, l'en-tête de requête suivant n'est pas fourni et ne peut pas être modifié ni supprimé sans spécifier 'extraHeaders' dans opt_extraInfoSpec :

  • Origine

À partir de Chrome 72, si vous devez modifier les réponses avant que le blocage de lecture interorigine (CORB) ne puisse les bloquer, vous devez spécifier 'extraHeaders' dans opt_extraInfoSpec.

À partir de Chrome 72, les en-têtes de requête suivants ne sont pas fournis et ne peuvent pas être modifiés ni supprimés sans spécifier 'extraHeaders' dans opt_extraInfoSpec :

  • Accept-Language
  • Accept-Encoding
  • Référent
  • Cookie

À partir de Chrome 72, l'en-tête de réponse Set-Cookie n'est pas fourni et ne peut pas être modifié ni supprimé sans spécifier 'extraHeaders' dans opt_extraInfoSpec.

À partir de Chrome 89, l'en-tête de réponse X-Frame-Options ne peut pas être modifié ni supprimé efficacement sans spécifier 'extraHeaders' dans opt_extraInfoSpec.

L'API webRequest n'expose que les requêtes que l'extension est autorisée à voir, compte tenu de ses autorisations d'hôte. De plus, seuls les schémas suivants sont accessibles : http://, https://, ftp://, file://, ws:// (depuis Chrome 58), wss:// (depuis Chrome 58), urn: (depuis Chrome 91) ou chrome-extension://. De plus, même certaines requêtes avec des URL utilisant l'un des schémas ci-dessus sont masquées. Il s'agit notamment de chrome-extension://other_extension_id où other_extension_id n'est pas l'ID de l'extension pour gérer la requête, https://www.google.com/chrome et d'autres requêtes sensibles essentielles au fonctionnement du navigateur. De plus, les requêtes XMLHttpRequest synchrones de votre extension sont masquées pour les gestionnaires d'événements bloquants afin d'éviter les blocages. Notez que pour certains des schémas compatibles, l'ensemble des événements disponibles peut être limité en raison de la nature du protocole correspondant. Par exemple, pour le schéma file:, seuls onBeforeRequest, onResponseStarted, onCompleted et onErrorOccurred peuvent être distribués.

À partir de Chrome 58, l'API webRequest permet d'intercepter la requête de handshake WebSocket. Étant donné que le handshake est effectué au moyen d'une requête de mise à niveau HTTP, son flux s'intègre dans le modèle webRequest orienté HTTP. Notez que l'API n'intercepte pas :

  • Messages individuels envoyés via une connexion WebSocket établie.
  • Fermeture de la connexion WebSocket.

Les redirections ne sont pas acceptées pour les requêtes WebSocket.

À partir de Chrome 72, une extension ne pourra intercepter une requête que si elle dispose d'autorisations d'hôte à la fois pour l'URL demandée et pour l'initiateur de la requête.

À partir de Chrome 96, l'API webRequest permet d'intercepter la requête de handshake WebTransport sur HTTP/3. Étant donné que le handshake est effectué au moyen d'une requête HTTP CONNECT, son flux s'inscrit dans le modèle webRequest orienté HTTP. Remarques :

  • Une fois la session établie, les extensions ne peuvent pas l'observer ni intervenir via l'API webRequest.
  • La modification des en-têtes de requête HTTP dans onBeforeSendHeaders est ignorée.
  • Les redirections et les authentifications ne sont pas acceptées dans WebTransport sur HTTP/3.

Concepts

Comme l'expliquent les sections suivantes, les événements de l'API de requête Web utilisent des ID de requête. Vous pouvez éventuellement spécifier des filtres et des informations supplémentaires lorsque vous enregistrez des écouteurs d'événements.

ID de requête

Chaque requête est identifiée par un ID de requête. Cet ID est unique dans une session de navigateur et dans le contexte d'une extension. Il reste constant pendant le cycle de vie d'une requête et peut être utilisé pour faire correspondre les événements d'une même requête. Notez que plusieurs requêtes HTTP sont mappées à une requête Web en cas de redirection HTTP ou d'authentification HTTP.

Enregistrer des écouteurs d'événements

Pour enregistrer un écouteur d'événements pour une requête Web, vous utilisez une variante de la fonction addListener() habituelle. En plus de spécifier une fonction de rappel, vous devez spécifier un argument de filtre et vous pouvez spécifier un argument d'informations supplémentaires facultatif.

Les trois arguments de la méthode addListener() de l'API de requête Web sont définis comme suit :

var callback = function(details) {...};
var filter = {...};
var opt_extraInfoSpec = [...];

Voici un exemple d'écoute de l'événement onBeforeRequest :

chrome.webRequest.onBeforeRequest.addListener(
    callback, filter, opt_extraInfoSpec);

Chaque appel addListener() utilise une fonction de rappel obligatoire comme premier paramètre. Cette fonction de rappel reçoit un dictionnaire contenant des informations sur la requête d'URL actuelle. Les informations contenues dans ce dictionnaire dépendent du type d'événement spécifique ainsi que du contenu de opt_extraInfoSpec.

Si le tableau facultatif opt_extraInfoSpec contient la chaîne 'blocking' (autorisée uniquement pour des événements spécifiques), la fonction de rappel est gérée de manière synchrone. Cela signifie que la requête est bloquée jusqu'à ce que la fonction de rappel soit renvoyée. Dans ce cas, le rappel peut renvoyer un webRequest.BlockingResponse qui détermine le cycle de vie ultérieur de la requête. Selon le contexte, cette réponse permet d'annuler ou de rediriger une requête (onBeforeRequest), d'annuler une requête ou de modifier des en-têtes (onBeforeSendHeaders, onHeadersReceived), et d'annuler une requête ou de fournir des identifiants d'authentification (onAuthRequired).

Si le tableau facultatif opt_extraInfoSpec contient la chaîne 'asyncBlocking' (autorisée uniquement pour onAuthRequired), l'extension peut générer le webRequest.BlockingResponse de manière asynchrone.

La filter webRequest.RequestFilter permet de limiter les requêtes pour lesquelles des événements sont déclenchés dans différentes dimensions :

URL
Formats d'URL tels que *://www.google.com/foo*bar.
Types
Types de requêtes tels que main_frame (un document chargé pour un frame de niveau supérieur), sub_frame (un document chargé pour un frame intégré) et image (une image sur un site Web). Consultez webRequest.RequestFilter.
Onglet ID
Identifiant d'un onglet.
ID de la fenêtre
Identifiant d'une fenêtre.

Selon le type d'événement, vous pouvez spécifier des chaînes dans opt_extraInfoSpec pour demander des informations supplémentaires sur la requête. Cette option permet de fournir des informations détaillées sur les données de la requête uniquement si cela est explicitement demandé.

Détails de mise en œuvre

Il peut être important de comprendre plusieurs détails d'implémentation lors du développement d'une extension qui utilise l'API de requête Web :

web_accessible_resources

Lorsqu'une extension utilise des API webRequest pour rediriger une requête de ressource publique vers une ressource qui n'est pas accessible sur le Web, elle est bloquée et génère une erreur. Cela s'applique même si la ressource qui n'est pas accessible sur le Web appartient à l'extension de redirection. Pour déclarer des ressources à utiliser avec les API declarativeWebRequest, le tableau "web_accessible_resources" doit être déclaré et renseigné dans le fichier manifeste, comme indiqué ici.

Résolution de conflit

Dans l'implémentation actuelle de l'API requête Web, une requête est considérée comme annulée si au moins une extension demande l'annulation de la requête. Si une extension annule une requête, toutes les extensions sont averties par un événement onErrorOccurred. Une seule extension peut rediriger une requête ou modifier un en-tête à la fois. Si plusieurs extensions tentent de modifier la requête, l'extension installée le plus récemment l'emporte et toutes les autres sont ignorées. Une extension n'est pas avertie si son instruction de modification ou de redirection a été ignorée.

Mise en cache

Chrome utilise deux caches : un cache sur disque et un cache en mémoire très rapide. La durée de vie d'un cache en mémoire est liée à celle d'un processus de rendu, qui correspond à peu près à un onglet. Les requêtes auxquelles il est répondu à partir du cache en mémoire sont invisibles pour l'API de requête Web. Si un gestionnaire de requêtes modifie son comportement (par exemple, le comportement selon lequel les requêtes sont bloquées), une simple actualisation de la page peut ne pas respecter ce changement de comportement. Pour vous assurer que le changement de comportement est appliqué, appelez handlerBehaviorChanged() pour vider le cache en mémoire. Toutefois, ne le faites pas souvent, car vider le cache est une opération très coûteuse. Vous n'avez pas besoin d'appeler handlerBehaviorChanged() après avoir enregistré ou désenregistré un écouteur d'événements.

Codes temporels

La propriété timestamp des événements de requête Web n'est garantie d'être cohérente qu'en interne. La comparaison d'un événement à un autre vous donnera le décalage correct entre eux, mais la comparaison avec l'heure actuelle dans l'extension (via (new Date()).getTime(), par exemple) peut donner des résultats inattendus.

Gestion des exceptions

Si vous essayez d'enregistrer un événement avec des arguments non valides, une erreur JavaScript sera générée et le gestionnaire d'événements ne sera pas enregistré. Si une erreur est générée lors du traitement d'un événement ou si un gestionnaire d'événements renvoie une réponse de blocage non valide, un message d'erreur est consigné dans la console de votre extension, et le gestionnaire est ignoré pour cette requête.

Exemples

L'exemple suivant montre comment bloquer toutes les requêtes adressées à www.evil.com :

chrome.webRequest.onBeforeRequest.addListener(
  function(details) {
    return {cancel: details.url.indexOf("://www.evil.com/") != -1};
  },
  {urls: ["<all_urls>"]},
  ["blocking"]
);

Comme cette fonction utilise un gestionnaire d'événements bloquant, elle nécessite les autorisations "webRequest" et "webRequestBlocking" dans le fichier manifeste.

L'exemple suivant permet d'atteindre le même objectif de manière plus efficace, car les requêtes qui ne sont pas destinées à www.evil.com n'ont pas besoin d'être transmises à l'extension :

chrome.webRequest.onBeforeRequest.addListener(
  function(details) { return {cancel: true}; },
  {urls: ["*://www.evil.com/*"]},
  ["blocking"]
);

L'exemple suivant montre comment supprimer l'en-tête User-Agent de toutes les requêtes :

chrome.webRequest.onBeforeSendHeaders.addListener(
  function(details) {
    for (var i = 0; i < details.requestHeaders.length; ++i) {
      if (details.requestHeaders[i].name === 'User-Agent') {
        details.requestHeaders.splice(i, 1);
        break;
      }
    }
    return {requestHeaders: details.requestHeaders};
  },
  {urls: ["<all_urls>"]},
  ["blocking", "requestHeaders"]
);

Pour essayer l'API chrome.webRequest, installez l'exemple webRequest à partir du dépôt chrome-extension-samples.

Types

BlockingResponse

Renvoie la valeur des gestionnaires d'événements auxquels l'extraInfoSpec "blocking" est appliqué. Permet au gestionnaire d'événements de modifier les requêtes réseau.

Propriétés

  • authCredentials

    objet facultatif

    Utilisé uniquement en réponse à l'événement onAuthRequired. Si cette option est définie, la requête est effectuée à l'aide des identifiants fournis.

    • mot de passe

      chaîne

    • nom d'utilisateur

      chaîne

  • annuler

    boolean facultatif

    Si la valeur est "true", la requête est annulée. Cela empêche l'envoi de la requête. Il peut être utilisé comme réponse aux événements onBeforeRequest, onBeforeSendHeaders, onHeadersReceived et onAuthRequired.

  • redirectUrl

    chaîne facultatif

    Utilisé uniquement en réponse aux événements onBeforeRequest et onHeadersReceived. Si cette option est définie, la requête d'origine n'est pas envoyée/terminée, mais redirigée vers l'URL indiquée. Les redirections vers des schémas non HTTP tels que data: sont autorisées. Les redirections initiées par une action de redirection utilisent la méthode de requête d'origine pour la redirection, à une exception près : si la redirection est initiée à l'étape onHeadersReceived, elle sera émise à l'aide de la méthode GET. Les redirections à partir d'URL avec les schémas ws:// et wss:// sont ignorées.

  • requestHeaders

    HttpHeaders facultatif

    Utilisé uniquement comme réponse à l'événement onBeforeSendHeaders. Si défini, la requête est effectuée avec ces en-têtes de requête à la place.

  • responseHeaders

    HttpHeaders facultatif

    Utilisé uniquement comme réponse à l'événement onHeadersReceived. Si cette option est définie, le serveur est censé avoir répondu avec ces en-têtes de réponse à la place. Ne renvoyez responseHeaders que si vous souhaitez vraiment modifier les en-têtes afin de limiter le nombre de conflits (une seule extension peut modifier responseHeaders pour chaque requête).

FormDataItem

Chrome 66 ou version ultérieure

Contient les données transmises dans les données de formulaire. Pour les formulaires urlencoded, il est stocké sous forme de chaîne si les données sont une chaîne UTF-8, et sous forme d'ArrayBuffer sinon. Pour les données de formulaire, il s'agit d'ArrayBuffer. Si les données de formulaire représentent l'importation d'un fichier, il s'agit d'une chaîne avec le nom du fichier, si celui-ci est fourni.

Énumération

ArrayBuffer

chaîne

HttpHeaders

Un tableau d'en-têtes HTTP. Chaque en-tête est représenté sous la forme d'un dictionnaire contenant les clés name et value ou binaryValue.

Type

object[]

Propriétés

  • binaryValue

    number[] facultatif

    Valeur de l'en-tête HTTP s'il ne peut pas être représenté par UTF-8, stockée sous forme de valeurs d'octets individuelles (0..255).

  • nom

    chaîne

    Nom de l'en-tête HTTP.

  • valeur

    chaîne facultatif

    Valeur de l'en-tête HTTP s'il peut être représenté par UTF-8.

IgnoredActionType

Chrome 70 ou version ultérieure

Énumération

"redirect"

"request_headers"

"response_headers"

"auth_credentials"

OnAuthRequiredOptions

Chrome 44 ou version ultérieure

Énumération

"responseHeaders"
Spécifie que les en-têtes de réponse doivent être inclus dans l'événement.

"blocking"
Indique que la requête est bloquée jusqu'à ce que la fonction de rappel soit renvoyée.

"asyncBlocking"
Indique que la fonction de rappel est gérée de manière asynchrone.

"extraHeaders"
Spécifie que les en-têtes peuvent ne pas respecter le partage des ressources interorigines (CORS).

OnBeforeRedirectOptions

Chrome 44 ou version ultérieure

Énumération

"responseHeaders"
Spécifie que les en-têtes de réponse doivent être inclus dans l'événement.

"extraHeaders"
Spécifie que les en-têtes peuvent ne pas respecter le partage des ressources interorigines (CORS).

OnBeforeRequestOptions

Chrome 44 ou version ultérieure

Énumération

"blocking"
Indique que la requête est bloquée jusqu'à ce que la fonction de rappel soit renvoyée.

"requestBody"
Spécifie que le corps de la requête doit être inclus dans l'événement.

"extraHeaders"
Spécifie que les en-têtes peuvent ne pas respecter le partage des ressources interorigines (CORS).

OnBeforeSendHeadersOptions

Chrome 44 ou version ultérieure

Énumération

"requestHeaders"
Spécifie que l'en-tête de requête doit être inclus dans l'événement.

"blocking"
Indique que la requête est bloquée jusqu'à ce que la fonction de rappel soit renvoyée.

"extraHeaders"
Spécifie que les en-têtes peuvent ne pas respecter le partage des ressources interorigines (CORS).

OnCompletedOptions

Chrome 44 ou version ultérieure

Énumération

"responseHeaders"
Spécifie que les en-têtes de réponse doivent être inclus dans l'événement.

"extraHeaders"
Spécifie que les en-têtes peuvent ne pas respecter le partage des ressources interorigines (CORS).

OnErrorOccurredOptions

Chrome 79 ou version ultérieure

Valeur

"extraHeaders"

OnHeadersReceivedOptions

Chrome 44 ou version ultérieure

Énumération

"blocking"
Indique que la requête est bloquée jusqu'à ce que la fonction de rappel soit renvoyée.

"responseHeaders"
Spécifie que les en-têtes de réponse doivent être inclus dans l'événement.

"extraHeaders"
Spécifie que les en-têtes peuvent ne pas respecter le partage des ressources interorigines (CORS).

"securityInfo"
Spécifie que SecurityInfo doit être inclus dans l'événement.

"securityInfoRawDer"
Spécifie que SecurityInfo avec les octets bruts des certificats doit être inclus dans l'événement.

OnResponseStartedOptions

Chrome 44 ou version ultérieure

Énumération

"responseHeaders"
Spécifie que les en-têtes de réponse doivent être inclus dans l'événement.

"extraHeaders"
Spécifie que les en-têtes peuvent ne pas respecter le partage des ressources interorigines (CORS).

OnSendHeadersOptions

Chrome 44 ou version ultérieure

Énumération

"requestHeaders"
Spécifie que l'en-tête de requête doit être inclus dans l'événement.

"extraHeaders"
Spécifie que les en-têtes peuvent ne pas respecter le partage des ressources interorigines (CORS).

RequestFilter

Objet décrivant les filtres à appliquer aux événements webRequest.

Propriétés

  • tabId

    number facultatif

  • Types

    ResourceType[] facultatif

    Liste des types de requêtes. Les requêtes qui ne correspondent à aucun des types seront filtrées.

  • URL

    chaîne[]

    Liste d'URL ou de formats d'URL. Les requêtes qui ne correspondent à aucune des URL seront filtrées.

  • windowId

    number facultatif

ResourceType

Chrome 44 ou version ultérieure

Énumération

"main_frame"
Spécifie la ressource en tant que frame principal.

"sub_frame"
Spécifie la ressource en tant que sous-frame.

"stylesheet"
Spécifie la ressource en tant que feuille de style.

"script"
Spécifie la ressource en tant que script.

"image"
Spécifie la ressource en tant qu'image.

"font"
Spécifie la ressource en tant que police.

"object"
Spécifie la ressource en tant qu'objet.

"xmlhttprequest"
Spécifie la ressource en tant que XMLHttpRequest.

"ping"
Spécifie la ressource en tant que ping.

"csp_report"
Spécifie la ressource en tant que rapport Content Security Policy (CSP).

"media"
Spécifie la ressource en tant qu'objet multimédia.

"websocket"
Spécifie la ressource en tant que WebSocket.

"webbundle"
Spécifie la ressource en tant que WebBundle.

"other"
Spécifie la ressource comme un type non inclus dans les types listés.

SecurityInfo

Chrome 144 ou version ultérieure

Propriétés

  • certificats

    object[]

    Une liste de certificats

    • fingerprint

      objet

      Empreintes du certificat.

      • sha256

        chaîne

        Empreinte SHA256 du certificat.

    • rawDER

      ArrayBuffer facultatif

      Octets bruts du certificat de serveur encodé au format DER

  • state

    chaîne

    État de la connexion. "secure", "insecure" ou "broken".

UploadData

Contient les données importées dans une requête d'URL.

Propriétés

  • octets

    facultatif

    Un ArrayBuffer avec une copie des données.

  • fichier

    chaîne facultatif

    Chaîne contenant le chemin d'accès et le nom du fichier.

Propriétés

MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES

Nombre maximal de fois où handlerBehaviorChanged peut être appelé par intervalle continu de 10 minutes. handlerBehaviorChanged est un appel de fonction coûteux qui ne doit pas être appelé souvent.

Valeur

20

Méthodes

handlerBehaviorChanged()

Promise
chrome.webRequest.handlerBehaviorChanged(
  callback?: function,
)
: Promise<void>

Doit être appelée lorsque le comportement des gestionnaires webRequest a changé pour éviter une gestion incorrecte due à la mise en cache. Cet appel de fonction est coûteux. Ne l'appelez pas souvent.

Paramètres

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    () => void

Renvoie

  • Promise<void>

    Chrome 116 ou version ultérieure

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

Événements

onActionIgnored

Chrome 70 ou version ultérieure
chrome.webRequest.onActionIgnored.addListener(
  callback: function,
)

Se déclenche lorsque la modification proposée par une extension à une requête réseau est ignorée. Cela se produit en cas de conflit avec d'autres extensions.

Paramètres

  • callback

    fonction

    Le paramètre callback se présente comme suit :

    (details: object) => void

    • détails

      objet

      • Action proposée qui a été ignorée.

      • requestId

        chaîne

        ID de la requête. Les ID de requête sont uniques au sein d'une session de navigateur. Par conséquent, ils peuvent être utilisés pour associer différents événements d'une même requête.

onAuthRequired

chrome.webRequest.onAuthRequired.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnAuthRequiredOptions[],
)

Déclenché lorsqu'un échec d'authentification est reçu. L'écouteur dispose de trois options : il peut fournir des identifiants d'authentification, annuler la requête et afficher la page d'erreur, ou ne rien faire. Si des identifiants utilisateur incorrects sont fournis, cette méthode peut être appelée plusieurs fois pour la même requête. Notez que seul l'un des modes 'blocking' ou 'asyncBlocking' doit être spécifié dans le paramètre extraInfoSpec.

Paramètres

  • callback

    fonction

    Le paramètre callback se présente comme suit :

    (details: object, asyncCallback?: function) => BlockingResponse | undefined

    • détails

      objet

      • challenger

        objet

        Serveur demandant l'authentification.

        • hôte

          chaîne

        • port

          nombre

      • documentId

        chaîne facultatif

        Chrome 106 ou version ultérieure

        UUID du document à l'origine de la requête.

      • Chrome 106 ou version ultérieure

        Cycle de vie dans lequel se trouve le document.

      • frameId

        nombre

        La valeur 0 indique que la requête se produit dans le frame principal. Une valeur positive indique l'ID d'un sous-frame dans lequel la requête se produit. Si le document d'un (sous-)frame est chargé (type est main_frame ou sub_frame), frameId indique l'ID de ce frame, et non l'ID du frame externe. Les ID de frame sont uniques dans un onglet.

      • Chrome 106 ou version ultérieure

        Type de frame dans lequel la requête a été effectuée.

      • initiateur

        chaîne facultatif

        Chrome 63 ou version ultérieure

        Origine de la requête. Cela ne change pas avec les redirections. S'il s'agit d'une origine opaque, la chaîne "null" sera utilisée.

      • isProxy

        booléen

        "True" pour Proxy-Authenticate, "false" pour WWW-Authenticate.

      • method

        chaîne

        Méthode HTTP standard.

      • parentDocumentId

        chaîne facultatif

        Chrome 106 ou version ultérieure

        UUID du document parent propriétaire de ce frame. Ce champ n'est pas défini s'il n'y a pas de parent.

      • parentFrameId

        nombre

        ID du frame qui encapsule le frame ayant envoyé la requête. Définie sur -1 si aucun frame parent n'existe.

      • domaine

        chaîne facultatif

        Domaine d'authentification fourni par le serveur, le cas échéant.

      • requestId

        chaîne

        ID de la requête. Les ID de requête sont uniques au sein d'une session de navigateur. Par conséquent, ils peuvent être utilisés pour associer différents événements d'une même requête.

      • responseHeaders

        HttpHeaders facultatif

        En-têtes de réponse HTTP reçus avec cette réponse.

      • schéma

        chaîne

        Le schéma d'authentification, par exemple Basic ou Digest.

      • statusCode

        nombre

        Chrome 43 ou version ultérieure

        Code d'état HTTP standard renvoyé par le serveur.

      • statusLine

        chaîne

        Ligne d'état HTTP de la réponse ou chaîne "HTTP/0.9 200 OK" pour les réponses HTTP/0.9 (c'est-à-dire les réponses sans ligne d'état) ou chaîne vide s'il n'y a pas d'en-têtes.

      • tabId

        nombre

        ID de l'onglet dans lequel la requête est effectuée. Définie sur -1 si la requête n'est pas liée à un onglet.

      • timeStamp

        nombre

        Heure à laquelle ce signal est déclenché, en millisecondes depuis l'epoch.

      • Utilisation prévue de la ressource demandée.

      • url

        chaîne

    • asyncCallback

      function facultatif

      Chrome 58 ou version ultérieure

      Le paramètre asyncCallback se présente comme suit :

      (response: BlockingResponse) => void

    • Renvoie

      BlockingResponse | undefined

      Si "blocking" est spécifié dans le paramètre "extraInfoSpec", l'écouteur d'événements doit renvoyer un objet de ce type.

  • filtre
  • extraInfoSpec

    OnAuthRequiredOptions[] facultatif

onBeforeRedirect

chrome.webRequest.onBeforeRedirect.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnBeforeRedirectOptions[],
)

Déclenché lorsqu'une redirection initiée par le serveur est sur le point de se produire.

Paramètres

  • callback

    fonction

    Le paramètre callback se présente comme suit :

    (details: object) => void

    • détails

      objet

      • documentId

        chaîne facultatif

        Chrome 106 ou version ultérieure

        UUID du document à l'origine de la requête.

      • Chrome 106 ou version ultérieure

        Cycle de vie dans lequel se trouve le document.

      • frameId

        nombre

        La valeur 0 indique que la requête se produit dans le frame principal. Une valeur positive indique l'ID d'un sous-frame dans lequel la requête se produit. Si le document d'un (sous-)frame est chargé (type est main_frame ou sub_frame), frameId indique l'ID de ce frame, et non l'ID du frame externe. Les ID de frame sont uniques dans un onglet.

      • Chrome 106 ou version ultérieure

        Type de frame dans lequel la requête a été effectuée.

      • fromCache

        booléen

        Indique si cette réponse a été extraite du cache du disque.

      • initiateur

        chaîne facultatif

        Chrome 63 ou version ultérieure

        Origine de la requête. Cela ne change pas avec les redirections. S'il s'agit d'une origine opaque, la chaîne "null" sera utilisée.

      • ip

        chaîne facultatif

        Adresse IP du serveur auquel la requête a été envoyée. Notez qu'il peut s'agir d'une adresse IPv6 littérale.

      • method

        chaîne

        Méthode HTTP standard.

      • parentDocumentId

        chaîne facultatif

        Chrome 106 ou version ultérieure

        UUID du document parent propriétaire de ce frame. Ce champ n'est pas défini s'il n'y a pas de parent.

      • parentFrameId

        nombre

        ID du frame qui encapsule le frame ayant envoyé la requête. Définie sur -1 si aucun frame parent n'existe.

      • redirectUrl

        chaîne

        La nouvelle URL.

      • requestId

        chaîne

        ID de la requête. Les ID de requête sont uniques au sein d'une session de navigateur. Par conséquent, ils peuvent être utilisés pour associer différents événements d'une même requête.

      • responseHeaders

        HttpHeaders facultatif

        En-têtes de réponse HTTP reçus avec cette redirection.

      • statusCode

        nombre

        Code d'état HTTP standard renvoyé par le serveur.

      • statusLine

        chaîne

        Ligne d'état HTTP de la réponse ou chaîne "HTTP/0.9 200 OK" pour les réponses HTTP/0.9 (c'est-à-dire les réponses sans ligne d'état) ou chaîne vide s'il n'y a pas d'en-têtes.

      • tabId

        nombre

        ID de l'onglet dans lequel la requête est effectuée. Définie sur -1 si la requête n'est pas liée à un onglet.

      • timeStamp

        nombre

        Heure à laquelle ce signal est déclenché, en millisecondes depuis l'epoch.

      • Utilisation prévue de la ressource demandée.

      • url

        chaîne

  • filtre
  • extraInfoSpec

onBeforeRequest

chrome.webRequest.onBeforeRequest.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnBeforeRequestOptions[],
)

Se déclenche lorsqu'une requête est sur le point d'être envoyée.

Paramètres

  • callback

    fonction

    Le paramètre callback se présente comme suit :

    (details: object) => BlockingResponse | undefined

    • détails

      objet

      • documentId

        chaîne facultatif

        Chrome 106 ou version ultérieure

        UUID du document à l'origine de la requête.

      • documentLifecycle
        Chrome 106 ou version ultérieure

        Cycle de vie dans lequel se trouve le document.

      • frameId

        nombre

        La valeur 0 indique que la requête se produit dans le frame principal. Une valeur positive indique l'ID d'un sous-frame dans lequel la requête se produit. Si le document d'un (sous-)frame est chargé (type est main_frame ou sub_frame), frameId indique l'ID de ce frame, et non l'ID du frame externe. Les ID de frame sont uniques dans un onglet.

      • frameType
        Chrome 106 ou version ultérieure

        Type de frame dans lequel la requête a été effectuée.

      • initiateur

        chaîne facultatif

        Chrome 63 ou version ultérieure

        Origine de la requête. Cela ne change pas avec les redirections. S'il s'agit d'une origine opaque, la chaîne "null" sera utilisée.

      • method

        chaîne

        Méthode HTTP standard.

      • parentDocumentId

        chaîne facultatif

        Chrome 106 ou version ultérieure

        UUID du document parent propriétaire de ce frame. Ce champ n'est pas défini s'il n'y a pas de parent.

      • parentFrameId

        nombre

        ID du frame qui encapsule le frame ayant envoyé la requête. Définie sur -1 si aucun frame parent n'existe.

      • requestBody

        objet facultatif

        Contient les données du corps de la requête HTTP. Fourni uniquement si extraInfoSpec contient "requestBody".

        • erreur

          chaîne facultatif

          Erreurs lors de l'obtention des données du corps de la requête.

        • formData

          objet facultatif

          Si la méthode de requête est POST et que le corps est une séquence de paires clé-valeur encodées en UTF8, encodées en tant que multipart/form-data ou application/x-www-form-urlencoded, ce dictionnaire est présent et contient, pour chaque clé, la liste de toutes les valeurs de cette clé. Si les données sont d'un autre type de média ou si elles sont incorrectes, le dictionnaire n'est pas présent. Exemple de valeur de ce dictionnaire : {'key': ['value1', 'value2']}.

        • raw

          UploadData[] facultatif

          Si la méthode de requête est PUT ou POST, et que le corps n'est pas déjà analysé dans formData, les éléments du corps de la requête non analysés sont contenus dans ce tableau.

      • requestId

        chaîne

        ID de la requête. Les ID de requête sont uniques au sein d'une session de navigateur. Par conséquent, ils peuvent être utilisés pour associer différents événements d'une même requête.

      • tabId

        nombre

        ID de l'onglet dans lequel la requête est effectuée. Définie sur -1 si la requête n'est pas liée à un onglet.

      • timeStamp

        nombre

        Heure à laquelle ce signal est déclenché, en millisecondes depuis l'epoch.

      • Utilisation prévue de la ressource demandée.

      • url

        chaîne

    • Renvoie

      BlockingResponse | undefined

      Si "blocking" est spécifié dans le paramètre "extraInfoSpec", l'écouteur d'événements doit renvoyer un objet de ce type.

  • filtre
  • extraInfoSpec

onBeforeSendHeaders

chrome.webRequest.onBeforeSendHeaders.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnBeforeSendHeadersOptions[],
)

Déclenché avant l'envoi d'une requête HTTP, une fois que les en-têtes de requête sont disponibles. Cela peut se produire après l'établissement d'une connexion TCP au serveur, mais avant l'envoi de données HTTP.

Paramètres

  • callback

    fonction

    Le paramètre callback se présente comme suit :

    (details: object) => BlockingResponse | undefined

    • détails

      objet

      • documentId

        chaîne facultatif

        Chrome 106 ou version ultérieure

        UUID du document à l'origine de la requête.

      • Chrome 106 ou version ultérieure

        Cycle de vie dans lequel se trouve le document.

      • frameId

        nombre

        La valeur 0 indique que la requête se produit dans le frame principal. Une valeur positive indique l'ID d'un sous-frame dans lequel la requête se produit. Si le document d'un (sous-)frame est chargé (type est main_frame ou sub_frame), frameId indique l'ID de ce frame, et non l'ID du frame externe. Les ID de frame sont uniques dans un onglet.

      • Chrome 106 ou version ultérieure

        Type de frame dans lequel la requête a été effectuée.

      • initiateur

        chaîne facultatif

        Chrome 63 ou version ultérieure

        Origine de la requête. Cela ne change pas avec les redirections. S'il s'agit d'une origine opaque, la chaîne "null" sera utilisée.

      • method

        chaîne

        Méthode HTTP standard.

      • parentDocumentId

        chaîne facultatif

        Chrome 106 ou version ultérieure

        UUID du document parent propriétaire de ce frame. Ce champ n'est pas défini s'il n'y a pas de parent.

      • parentFrameId

        nombre

        ID du frame qui encapsule le frame ayant envoyé la requête. Définie sur -1 si aucun frame parent n'existe.

      • requestHeaders

        HttpHeaders facultatif

        En-têtes de requête HTTP qui seront envoyés avec cette requête.

      • requestId

        chaîne

        ID de la requête. Les ID de requête sont uniques au sein d'une session de navigateur. Par conséquent, ils peuvent être utilisés pour associer différents événements d'une même requête.

      • tabId

        nombre

        ID de l'onglet dans lequel la requête est effectuée. Définie sur -1 si la requête n'est pas liée à un onglet.

      • timeStamp

        nombre

        Heure à laquelle ce signal est déclenché, en millisecondes depuis l'epoch.

      • Utilisation prévue de la ressource demandée.

      • url

        chaîne

    • Renvoie

      BlockingResponse | undefined

      Si "blocking" est spécifié dans le paramètre "extraInfoSpec", l'écouteur d'événements doit renvoyer un objet de ce type.

  • filtre
  • extraInfoSpec

onCompleted

chrome.webRequest.onCompleted.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnCompletedOptions[],
)

Déclenché lorsqu'une requête est terminée.

Paramètres

  • callback

    fonction

    Le paramètre callback se présente comme suit :

    (details: object) => void

    • détails

      objet

      • documentId

        chaîne facultatif

        Chrome 106 ou version ultérieure

        UUID du document à l'origine de la requête.

      • Chrome 106 ou version ultérieure

        Cycle de vie dans lequel se trouve le document.

      • frameId

        nombre

        La valeur 0 indique que la requête se produit dans le frame principal. Une valeur positive indique l'ID d'un sous-frame dans lequel la requête se produit. Si le document d'un (sous-)frame est chargé (type est main_frame ou sub_frame), frameId indique l'ID de ce frame, et non l'ID du frame externe. Les ID de frame sont uniques dans un onglet.

      • Chrome 106 ou version ultérieure

        Type de frame dans lequel la requête a été effectuée.

      • fromCache

        booléen

        Indique si cette réponse a été extraite du cache du disque.

      • initiateur

        chaîne facultatif

        Chrome 63 ou version ultérieure

        Origine de la requête. Cela ne change pas avec les redirections. S'il s'agit d'une origine opaque, la chaîne "null" sera utilisée.

      • ip

        chaîne facultatif

        Adresse IP du serveur auquel la requête a été envoyée. Notez qu'il peut s'agir d'une adresse IPv6 littérale.

      • method

        chaîne

        Méthode HTTP standard.

      • parentDocumentId

        chaîne facultatif

        Chrome 106 ou version ultérieure

        UUID du document parent propriétaire de ce frame. Ce champ n'est pas défini s'il n'y a pas de parent.

      • parentFrameId

        nombre

        ID du frame qui encapsule le frame ayant envoyé la requête. Définie sur -1 si aucun frame parent n'existe.

      • requestId

        chaîne

        ID de la requête. Les ID de requête sont uniques au sein d'une session de navigateur. Par conséquent, ils peuvent être utilisés pour associer différents événements d'une même requête.

      • responseHeaders

        HttpHeaders facultatif

        En-têtes de réponse HTTP reçus avec cette réponse.

      • statusCode

        nombre

        Code d'état HTTP standard renvoyé par le serveur.

      • statusLine

        chaîne

        Ligne d'état HTTP de la réponse ou chaîne "HTTP/0.9 200 OK" pour les réponses HTTP/0.9 (c'est-à-dire les réponses sans ligne d'état) ou chaîne vide s'il n'y a pas d'en-têtes.

      • tabId

        nombre

        ID de l'onglet dans lequel la requête est effectuée. Définie sur -1 si la requête n'est pas liée à un onglet.

      • timeStamp

        nombre

        Heure à laquelle ce signal est déclenché, en millisecondes depuis l'epoch.

      • Utilisation prévue de la ressource demandée.

      • url

        chaîne

  • filtre
  • extraInfoSpec

    OnCompletedOptions[] facultatif

onErrorOccurred

chrome.webRequest.onErrorOccurred.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnErrorOccurredOptions[],
)

Se déclenche lorsqu'une erreur se produit.

Paramètres

  • callback

    fonction

    Le paramètre callback se présente comme suit :

    (details: object) => void

    • détails

      objet

      • documentId

        chaîne facultatif

        Chrome 106 ou version ultérieure

        UUID du document à l'origine de la requête. Cette valeur n'est pas présente si la requête est une navigation dans un frame.

      • Chrome 106 ou version ultérieure

        Cycle de vie dans lequel se trouve le document.

      • erreur

        chaîne

        Description de l'erreur. Il n'est pas garanti que cette chaîne reste rétrocompatible entre les versions. Vous ne devez pas l'analyser ni agir en fonction de son contenu.

      • frameId

        nombre

        La valeur 0 indique que la requête se produit dans le frame principal. Une valeur positive indique l'ID d'un sous-frame dans lequel la requête se produit. Si le document d'un (sous-)frame est chargé (type est main_frame ou sub_frame), frameId indique l'ID de ce frame, et non l'ID du frame externe. Les ID de frame sont uniques dans un onglet.

      • Chrome 106 ou version ultérieure

        Type de frame dans lequel la requête a été effectuée.

      • fromCache

        booléen

        Indique si cette réponse a été extraite du cache du disque.

      • initiateur

        chaîne facultatif

        Chrome 63 ou version ultérieure

        Origine de la requête. Cela ne change pas avec les redirections. S'il s'agit d'une origine opaque, la chaîne "null" sera utilisée.

      • ip

        chaîne facultatif

        Adresse IP du serveur auquel la requête a été envoyée. Notez qu'il peut s'agir d'une adresse IPv6 littérale.

      • method

        chaîne

        Méthode HTTP standard.

      • parentDocumentId

        chaîne facultatif

        Chrome 106 ou version ultérieure

        UUID du document parent propriétaire de ce frame. Ce champ n'est pas défini s'il n'y a pas de parent.

      • parentFrameId

        nombre

        ID du frame qui encapsule le frame ayant envoyé la requête. Définie sur -1 si aucun frame parent n'existe.

      • requestId

        chaîne

        ID de la requête. Les ID de requête sont uniques au sein d'une session de navigateur. Par conséquent, ils peuvent être utilisés pour associer différents événements d'une même requête.

      • tabId

        nombre

        ID de l'onglet dans lequel la requête est effectuée. Définie sur -1 si la requête n'est pas liée à un onglet.

      • timeStamp

        nombre

        Heure à laquelle ce signal est déclenché, en millisecondes depuis l'epoch.

      • Utilisation prévue de la ressource demandée.

      • url

        chaîne

  • filtre
  • extraInfoSpec

onHeadersReceived

chrome.webRequest.onHeadersReceived.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnHeadersReceivedOptions[],
)

Déclenché lorsque les en-têtes de réponse HTTP d'une requête ont été reçus.

Paramètres

  • callback

    fonction

    Le paramètre callback se présente comme suit :

    (details: object) => BlockingResponse | undefined

    • détails

      objet

      • documentId

        chaîne facultatif

        Chrome 106 ou version ultérieure

        UUID du document à l'origine de la requête.

      • Chrome 106 ou version ultérieure

        Cycle de vie dans lequel se trouve le document.

      • frameId

        nombre

        La valeur 0 indique que la requête se produit dans le frame principal. Une valeur positive indique l'ID d'un sous-frame dans lequel la requête se produit. Si le document d'un (sous-)frame est chargé (type est main_frame ou sub_frame), frameId indique l'ID de ce frame, et non l'ID du frame externe. Les ID de frame sont uniques dans un onglet.

      • Chrome 106 ou version ultérieure

        Type de frame dans lequel la requête a été effectuée.

      • initiateur

        chaîne facultatif

        Chrome 63 ou version ultérieure

        Origine de la requête. Cela ne change pas avec les redirections. S'il s'agit d'une origine opaque, la chaîne "null" sera utilisée.

      • method

        chaîne

        Méthode HTTP standard.

      • parentDocumentId

        chaîne facultatif

        Chrome 106 ou version ultérieure

        UUID du document parent propriétaire de ce frame. Ce champ n'est pas défini s'il n'y a pas de parent.

      • parentFrameId

        nombre

        ID du frame qui encapsule le frame ayant envoyé la requête. Définie sur -1 si aucun frame parent n'existe.

      • requestId

        chaîne

        ID de la requête. Les ID de requête sont uniques au sein d'une session de navigateur. Par conséquent, ils peuvent être utilisés pour associer différents événements d'une même requête.

      • responseHeaders

        HttpHeaders facultatif

        En-têtes de réponse HTTP reçus avec cette réponse.

      • securityInfo

        SecurityInfo facultatif

        Chrome 144 ou version ultérieure

        Informations sur la connexion TLS/QUIC utilisée pour la connexion sous-jacente. Fourni uniquement si securityInfo est spécifié dans le paramètre extraInfoSpec.

      • statusCode

        nombre

        Chrome 43 ou version ultérieure

        Code d'état HTTP standard renvoyé par le serveur.

      • statusLine

        chaîne

        Ligne d'état HTTP de la réponse ou chaîne "HTTP/0.9 200 OK" pour les réponses HTTP/0.9 (c'est-à-dire les réponses sans ligne d'état).

      • tabId

        nombre

        ID de l'onglet dans lequel la requête est effectuée. Définie sur -1 si la requête n'est pas liée à un onglet.

      • timeStamp

        nombre

        Heure à laquelle ce signal est déclenché, en millisecondes depuis l'epoch.

      • Utilisation prévue de la ressource demandée.

      • url

        chaîne

    • Renvoie

      BlockingResponse | undefined

      Si "blocking" est spécifié dans le paramètre "extraInfoSpec", l'écouteur d'événements doit renvoyer un objet de ce type.

  • filtre
  • extraInfoSpec

onResponseStarted

chrome.webRequest.onResponseStarted.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnResponseStartedOptions[],
)

Déclenché lorsque le premier octet du corps de la réponse est reçu. Pour les requêtes HTTP, cela signifie que la ligne d'état et les en-têtes de réponse sont disponibles.

Paramètres

  • callback

    fonction

    Le paramètre callback se présente comme suit :

    (details: object) => void

    • détails

      objet

      • documentId

        chaîne facultatif

        Chrome 106 ou version ultérieure

        UUID du document à l'origine de la requête.

      • Chrome 106 ou version ultérieure

        Cycle de vie dans lequel se trouve le document.

      • frameId

        nombre

        La valeur 0 indique que la requête se produit dans le frame principal. Une valeur positive indique l'ID d'un sous-frame dans lequel la requête se produit. Si le document d'un (sous-)frame est chargé (type est main_frame ou sub_frame), frameId indique l'ID de ce frame, et non l'ID du frame externe. Les ID de frame sont uniques dans un onglet.

      • Chrome 106 ou version ultérieure

        Type de frame dans lequel la requête a été effectuée.

      • fromCache

        booléen

        Indique si cette réponse a été extraite du cache du disque.

      • initiateur

        chaîne facultatif

        Chrome 63 ou version ultérieure

        Origine de la requête. Cela ne change pas avec les redirections. S'il s'agit d'une origine opaque, la chaîne "null" sera utilisée.

      • ip

        chaîne facultatif

        Adresse IP du serveur auquel la requête a été envoyée. Notez qu'il peut s'agir d'une adresse IPv6 littérale.

      • method

        chaîne

        Méthode HTTP standard.

      • parentDocumentId

        chaîne facultatif

        Chrome 106 ou version ultérieure

        UUID du document parent propriétaire de ce frame. Ce champ n'est pas défini s'il n'y a pas de parent.

      • parentFrameId

        nombre

        ID du frame qui encapsule le frame ayant envoyé la requête. Définie sur -1 si aucun frame parent n'existe.

      • requestId

        chaîne

        ID de la requête. Les ID de requête sont uniques au sein d'une session de navigateur. Par conséquent, ils peuvent être utilisés pour associer différents événements d'une même requête.

      • responseHeaders

        HttpHeaders facultatif

        En-têtes de réponse HTTP reçus avec cette réponse.

      • statusCode

        nombre

        Code d'état HTTP standard renvoyé par le serveur.

      • statusLine

        chaîne

        Ligne d'état HTTP de la réponse ou chaîne "HTTP/0.9 200 OK" pour les réponses HTTP/0.9 (c'est-à-dire les réponses sans ligne d'état) ou chaîne vide s'il n'y a pas d'en-têtes.

      • tabId

        nombre

        ID de l'onglet dans lequel la requête est effectuée. Définie sur -1 si la requête n'est pas liée à un onglet.

      • timeStamp

        nombre

        Heure à laquelle ce signal est déclenché, en millisecondes depuis l'epoch.

      • Utilisation prévue de la ressource demandée.

      • url

        chaîne

  • filtre
  • extraInfoSpec

onSendHeaders

chrome.webRequest.onSendHeaders.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnSendHeadersOptions[],
)

Déclenché juste avant l'envoi d'une requête au serveur (les modifications des rappels onBeforeSendHeaders précédents sont visibles au moment où onSendHeaders est déclenché).

Paramètres

  • callback

    fonction

    Le paramètre callback se présente comme suit :

    (details: object) => void

    • détails

      objet

      • documentId

        chaîne facultatif

        Chrome 106 ou version ultérieure

        UUID du document à l'origine de la requête.

      • Chrome 106 ou version ultérieure

        Cycle de vie dans lequel se trouve le document.

      • frameId

        nombre

        La valeur 0 indique que la requête se produit dans le frame principal. Une valeur positive indique l'ID d'un sous-frame dans lequel la requête se produit. Si le document d'un (sous-)frame est chargé (type est main_frame ou sub_frame), frameId indique l'ID de ce frame, et non l'ID du frame externe. Les ID de frame sont uniques dans un onglet.

      • Chrome 106 ou version ultérieure

        Type de frame dans lequel la requête a été effectuée.

      • initiateur

        chaîne facultatif

        Chrome 63 ou version ultérieure

        Origine de la requête. Cela ne change pas avec les redirections. S'il s'agit d'une origine opaque, la chaîne "null" sera utilisée.

      • method

        chaîne

        Méthode HTTP standard.

      • parentDocumentId

        chaîne facultatif

        Chrome 106 ou version ultérieure

        UUID du document parent propriétaire de ce frame. Ce champ n'est pas défini s'il n'y a pas de parent.

      • parentFrameId

        nombre

        ID du frame qui encapsule le frame ayant envoyé la requête. Définie sur -1 si aucun frame parent n'existe.

      • requestHeaders

        HttpHeaders facultatif

        En-têtes de requête HTTP envoyés avec cette requête.

      • requestId

        chaîne

        ID de la requête. Les ID de requête sont uniques au sein d'une session de navigateur. Par conséquent, ils peuvent être utilisés pour associer différents événements d'une même requête.

      • tabId

        nombre

        ID de l'onglet dans lequel la requête est effectuée. Définie sur -1 si la requête n'est pas liée à un onglet.

      • timeStamp

        nombre

        Heure à laquelle ce signal est déclenché, en millisecondes depuis l'epoch.

      • Utilisation prévue de la ressource demandée.

      • url

        chaîne

  • filtre
  • extraInfoSpec

    OnSendHeadersOptions[] facultatif