refresh date: 2026-09-25 robots: noindex
Descrizione
Utilizza l'API chrome.webRequest per osservare e analizzare il traffico e per intercettare, bloccare o modificare le richieste in corso.
Autorizzazioni
webRequestManifest
Per utilizzare l'API richiesta web, devi dichiarare l'autorizzazione "webRequest" nel manifest dell'estensione, insieme alle autorizzazioni host necessarie. Per intercettare una richiesta di risorsa secondaria, l'estensione deve avere accesso sia all'URL richiesto sia al relativo iniziatore. Ad esempio:
{
"name": "My extension",
...
"permissions": [
"webRequest"
],
"host_permissions": [
"*://*.google.com/*"
],
...
}
A partire da Chrome 108, puoi fornire le credenziali in modo asincrono per gli eventi onAuthRequired se utilizzi le autorizzazioni "webRequest" e "webRequestAuthProvider".
Ciclo di vita delle richieste
L'API webRequest definisce un insieme di eventi che seguono il ciclo di vita di una richiesta web. Puoi utilizzare questi eventi per osservare e analizzare il traffico. Alcuni eventi sincroni ti consentiranno di intercettare, bloccare o modificare una richiesta.
Di seguito è illustrato il ciclo di vita degli eventi per le richieste andate a buon fine, seguito dalle definizioni degli eventi:

onBeforeRequest(facoltativamente sincrono)- Si attiva quando sta per essere effettuata una richiesta. Questo evento viene inviato prima che venga stabilita una connessione TCP e può essere utilizzato per annullare o reindirizzare le richieste.
onBeforeSendHeaders(facoltativamente sincrono)- Si attiva quando sta per essere effettuata una richiesta e sono state preparate le intestazioni iniziali. L'evento è destinato a consentire alle estensioni di aggiungere, modificare ed eliminare le intestazioni delle richieste (*). L'evento
onBeforeSendHeadersviene trasmesso a tutti gli iscritti, pertanto iscritti diversi potrebbero tentare di modificare la richiesta. Consulta la sezione Dettagli di implementazione per scoprire come viene gestita questa situazione. Questo evento può essere utilizzato per annullare la richiesta. onSendHeaders- Viene attivato dopo che tutte le estensioni hanno avuto la possibilità di modificare le intestazioni della richiesta e presenta la versione finale (*). L'evento viene attivato prima che le intestazioni vengano inviate alla rete. Questo evento è informativo e viene gestito in modo asincrono. Non consente di modificare o annullare la richiesta.
onHeadersReceived(facoltativamente sincrono)- Si attiva ogni volta che viene ricevuta un'intestazione della risposta HTTP(S). A causa di reindirizzamenti e richieste di autenticazione, questo può accadere più volte per richiesta. Questo evento è destinato a consentire alle estensioni di aggiungere, modificare ed eliminare le intestazioni della risposta, ad esempio le intestazioni Content-Type in entrata. Le istruzioni di memorizzazione nella cache vengono elaborate prima dell'attivazione di questo evento, pertanto la modifica di intestazioni come Cache-Control non influisce sulla cache del browser. Inoltre, ti consente di annullare o reindirizzare la richiesta.
onAuthRequired(facoltativamente sincrono)- Si attiva quando una richiesta richiede l'autenticazione dell'utente. Questo evento può essere gestito in modo sincrono per fornire le credenziali di autenticazione. Tieni presente che le estensioni potrebbero fornire credenziali non valide. Fai attenzione a non entrare in un loop infinito fornendo ripetutamente credenziali non valide. Può essere utilizzato anche per annullare la richiesta.
onBeforeRedirect- Si attiva quando sta per essere eseguito un reindirizzamento. Un reindirizzamento può essere attivato da un codice di risposta HTTP o da un'estensione. Questo evento è informativo e viene gestito in modo asincrono. Non ti consente di modificare o annullare la richiesta.
onResponseStarted- Si attiva quando viene ricevuto il primo byte del corpo della risposta. Per le richieste HTTP, ciò significa che la riga di stato e le intestazioni della risposta sono disponibili. Questo evento è informativo e viene gestito in modo asincrono. Non consente di modificare o annullare la richiesta.
onCompleted- Si attiva quando una richiesta è stata elaborata correttamente.
onErrorOccurred- Si attiva quando non è stato possibile elaborare una richiesta.
L'API richiesta web garantisce che per ogni richiesta, venga attivato onCompleted o onErrorOccurred come evento finale, con un'eccezione: se una richiesta viene reindirizzata a un URL data://, l'ultimo evento segnalato è onBeforeRedirect.
* Tieni presente che l'API di richiesta web presenta un'astrazione dello stack di rete all'estensione. Internamente, una richiesta di URL può essere suddivisa in più richieste HTTP (ad esempio, per recuperare singoli intervalli di byte da un file di grandi dimensioni) o può essere gestita dallo stack di rete senza comunicare con la rete. Per questo motivo, l'API non fornisce le intestazioni HTTP finali inviate alla rete. Ad esempio, tutte le intestazioni relative alla memorizzazione nella cache sono invisibili all'estensione.
Le seguenti intestazioni non sono attualmente fornite all'evento onBeforeSendHeaders. Non è garantito che questo elenco sia completo o stabile.
- Autorizzazione
- Cache-Control
- Connessione
- Content-Length
- Host
- If-Modified-Since
- If-None-Match
- If-Range
- Dati parziali
- Pragma
- Proxy-Authorization
- Proxy-Connection
- Transfer-Encoding
A partire da Chrome 79, le modifiche alle intestazioni delle richieste influiscono sui controlli della condivisione delle risorse multiorigine (CORS). Se le intestazioni modificate per le richieste multiorigine non soddisfano i criteri, verrà inviato un preflight CORS per chiedere al server se queste intestazioni possono essere accettate. Se hai davvero bisogno di modificare le intestazioni in modo da violare il protocollo CORS, devi specificare 'extraHeaders' in opt_extraInfoSpec. D'altra parte, le modifiche alle intestazioni della risposta non funzionano per ingannare i controlli CORS. Se devi ingannare il protocollo CORS, devi anche specificare 'extraHeaders' per le modifiche della risposta.
A partire da Chrome 79, l'API webRequest non intercetta le richieste e le risposte di preflight CORS per impostazione predefinita. Un preflight CORS per un URL di richiesta è visibile a un'estensione se è presente un listener con 'extraHeaders' specificato in opt_extraInfoSpec per l'URL di richiesta.
onBeforeRequest può anche richiedere 'extraHeaders' da Chrome 79.
A partire da Chrome 79, la seguente intestazione della richiesta non viene fornita e non può essere modificata o rimossa senza specificare 'extraHeaders' in opt_extraInfoSpec:
- Origine
A partire da Chrome 72, se devi modificare le risposte prima che Cross Origin Read Blocking (CORB) possa bloccarle, devi specificare 'extraHeaders' in opt_extraInfoSpec.
A partire da Chrome 72, le seguenti intestazioni della richiesta non vengono fornite e non possono essere modificate o rimosse senza specificare 'extraHeaders' in opt_extraInfoSpec:
- Accept-Language
- Accept-Encoding
- Referer
- Cookie
A partire da Chrome 72, l'intestazione della risposta Set-Cookie non viene fornita e non può essere modificata o rimossa senza specificare 'extraHeaders' in opt_extraInfoSpec.
A partire da Chrome 89, l'intestazione della risposta X-Frame-Options non può essere modificata o rimossa in modo efficace senza specificare 'extraHeaders' in opt_extraInfoSpec.
L'API webRequest espone solo le richieste che l'estensione ha l'autorizzazione di visualizzare, in base alle sue autorizzazioni host. Inoltre, sono accessibili solo i seguenti schemi: http://, https://,
ftp://, file://, ws:// (da Chrome 58), wss:// (da Chrome 58), urn: (da Chrome 91) o
chrome-extension://. Inoltre, vengono nascoste anche alcune richieste con URL che utilizzano uno degli schemi precedenti. Queste includono chrome-extension://other_extension_id dove other_extension_id non è l'ID dell'estensione per gestire la richiesta, https://www.google.com/chrome e altre richieste sensibili fondamentali per la funzionalità del browser. Inoltre, le richieste XMLHttpRequest sincrone della tua estensione sono nascoste ai gestori di eventi di blocco per evitare deadlock. Tieni presente che per alcuni degli schemi supportati l'insieme di eventi disponibili potrebbe essere limitato a causa della natura del protocollo corrispondente. Ad esempio, per lo schema file:, possono essere inviati solo onBeforeRequest, onResponseStarted, onCompleted e onErrorOccurred.
A partire da Chrome 58, l'API webRequest supporta l'intercettazione della richiesta di handshake di WebSocket. Poiché l'handshake viene eseguito tramite una richiesta di upgrade HTTP, il suo flusso si adatta al modello webRequest orientato a HTTP. Tieni presente che l'API non intercetta:
- Singoli messaggi inviati tramite una connessione WebSocket stabilita.
- Chiusura della connessione WebSocket.
I reindirizzamenti non sono supportati per le richieste WebSocket.
A partire da Chrome 72, un'estensione potrà intercettare una richiesta solo se dispone delle autorizzazioni host sia per l'URL richiesto sia per l'iniziatore della richiesta.
A partire da Chrome 96, l'API webRequest supporta l'intercettazione della richiesta di handshake WebTransport su HTTP/3. Poiché l'handshake viene eseguito tramite una richiesta HTTP CONNECT, il suo flusso si adatta al modello webRequest orientato a HTTP. Ricorda:
- Una volta stabilita la sessione, le estensioni non possono osservarla o intervenire tramite l'API webRequest.
- La modifica delle intestazioni delle richieste HTTP in
onBeforeSendHeadersviene ignorata. - I reindirizzamenti e le autenticazioni non sono supportati in WebTransport su HTTP/3.
Concetti
Come spiegato nelle sezioni seguenti, gli eventi nell'API richiesta web utilizzano gli ID richiesta e, se vuoi, puoi specificare filtri e informazioni aggiuntive quando registri i listener di eventi.
ID richiesta
Ogni richiesta è identificata da un ID richiesta. Questo ID è univoco all'interno di una sessione del browser e nel contesto di un'estensione. Rimane costante durante il ciclo di vita di una richiesta e può essere utilizzato per abbinare gli eventi per la stessa richiesta. Tieni presente che più richieste HTTP vengono mappate a una richiesta web in caso di reindirizzamento HTTP o autenticazione HTTP.
Registrazione dei listener di eventi
Per registrare un listener di eventi per una richiesta web, utilizza una variante della consueta funzione addListener(). Oltre a specificare una funzione di callback, devi specificare un argomento di filtro e puoi specificare un argomento facoltativo per le informazioni aggiuntive.
I tre argomenti dell'API di richiesta web addListener() hanno le seguenti definizioni:
var callback = function(details) {...};
var filter = {...};
var opt_extraInfoSpec = [...];
Ecco un esempio di ascolto dell'evento onBeforeRequest:
chrome.webRequest.onBeforeRequest.addListener(
callback, filter, opt_extraInfoSpec);
Ogni chiamata addListener() accetta una funzione di callback obbligatoria come primo parametro. A questa funzione di callback viene passato un dizionario contenente informazioni sulla richiesta dell'URL corrente. Le informazioni contenute in questo dizionario dipendono dal tipo di evento specifico e dai contenuti di opt_extraInfoSpec.
Se l'array facoltativo opt_extraInfoSpec contiene la stringa 'blocking' (consentita solo per eventi specifici), la funzione di callback viene gestita in modo sincrono. Ciò significa che la richiesta viene bloccata finché la funzione di callback non restituisce un valore. In questo caso, il callback può restituire un webRequest.BlockingResponse che determina l'ulteriore ciclo di vita della richiesta. A seconda del contesto, questa risposta consente di annullare o reindirizzare una richiesta (onBeforeRequest), annullare una richiesta o modificare le intestazioni (onBeforeSendHeaders, onHeadersReceived) e annullare una richiesta o fornire credenziali di autenticazione (onAuthRequired).
Se l'array facoltativo opt_extraInfoSpec contiene invece la stringa 'asyncBlocking' (consentita solo per onAuthRequired), l'estensione può generare webRequest.BlockingResponse in modo asincrono.
webRequest.RequestFilter filter consente di limitare le richieste per le quali vengono attivati gli eventi in varie dimensioni:
- URL
- Pattern URL come
*://www.google.com/foo*bar. - Tipi
- Tipi di richiesta come
main_frame(un documento caricato per un frame di primo livello),sub_frame(un documento caricato per un frame incorporato) eimage(un'immagine su un sito web). ConsultawebRequest.RequestFilter. - ID scheda
- L'identificatore di una scheda.
- ID finestra
- L'identificatore di una finestra.
A seconda del tipo di evento, puoi specificare stringhe in opt_extraInfoSpec per richiedere ulteriori informazioni sulla richiesta. Viene utilizzato per fornire informazioni dettagliate sui dati della richiesta solo se richiesto esplicitamente.
Dettagli di implementazione
Durante lo sviluppo di un'estensione che utilizza l'API Web Request, è importante comprendere diversi dettagli di implementazione:
web_accessible_resources
Quando un'estensione utilizza le API webRequest per reindirizzare una richiesta di risorsa pubblica a una risorsa non accessibile dal web, viene bloccata e genera un errore. Quanto sopra vale anche se la risorsa non accessibile dal web è di proprietà dell'estensione di reindirizzamento. Per dichiarare le risorse da utilizzare con le API declarativeWebRequest, l'array "web_accessible_resources" deve essere dichiarato e compilato nel manifest come documentato qui.
Risoluzione dei conflitti
Nell'implementazione attuale dell'API webRequest, una richiesta web viene considerata annullata se almeno un'estensione indica di annullarla. Se un'estensione annulla una richiesta, tutte le estensioni vengono informate tramite un evento onErrorOccurred. Una sola estensione alla volta può reindirizzare una richiesta o modificare un'intestazione. Se più di un'estensione tenta di modificare la richiesta, l'estensione installata più di recente ha la precedenza e tutte le altre vengono ignorate. Un'estensione non riceve una notifica se la sua istruzione di modifica o reindirizzamento è stata ignorata.
Memorizzazione nella cache
Chrome utilizza due cache: una cache su disco e una cache in memoria molto veloce. La durata di una memoria cache è legata alla durata di un processo di rendering, che corrisponde all'incirca a una scheda.
Le richieste a cui viene risposto dalla memoria cache non sono visibili all'API delle richieste web. Se un gestore delle richieste modifica il proprio comportamento (ad esempio, il comportamento in base al quale le richieste vengono bloccate), un semplice aggiornamento della pagina potrebbe non rispettare questo comportamento modificato. Per assicurarti che la modifica del comportamento venga applicata, chiama handlerBehaviorChanged() per svuotare la memoria cache. Tuttavia, non farlo spesso: lo svuotamento della cache è un'operazione molto costosa. Non è necessario chiamare handlerBehaviorChanged() dopo aver registrato o annullato la registrazione di un listener di eventi.
Timestamp
La proprietà timestamp degli eventi di richiesta web è garantita solo per la coerenza interna.
Il confronto di un evento con un altro ti darà l'offset corretto tra i due, ma il confronto con l'ora corrente all'interno dell'estensione (ad esempio tramite (new Date()).getTime()) potrebbe dare risultati imprevisti.
Gestione degli errori
Se provi a registrare un evento con argomenti non validi, verrà generato un errore JavaScript e il gestore di eventi non verrà registrato. Se viene generato un errore durante la gestione di un evento o se un gestore di eventi restituisce una risposta di blocco non valida, viene registrato un messaggio di errore nella console dell'estensione e il gestore viene ignorato per la richiesta.
Esempi
L'esempio seguente illustra come bloccare tutte le richieste a www.evil.com:
chrome.webRequest.onBeforeRequest.addListener(
function(details) {
return {cancel: details.url.indexOf("://www.evil.com/") != -1};
},
{urls: ["<all_urls>"]},
["blocking"]
);
Poiché questa funzione utilizza un gestore di eventi di blocco, richiede l'autorizzazione "webRequest" e l'autorizzazione "webRequestBlocking" nel file manifest.
L'esempio seguente raggiunge lo stesso obiettivo in modo più efficiente perché le richieste non destinate a www.evil.com non devono essere passate all'estensione:
chrome.webRequest.onBeforeRequest.addListener(
function(details) { return {cancel: true}; },
{urls: ["*://www.evil.com/*"]},
["blocking"]
);
L'esempio seguente illustra come eliminare l'intestazione User-Agent da tutte le richieste:
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"]
);
Per provare l'API chrome.webRequest,
installa l'esempio webRequest dal repository
chrome-extension-samples.
Tipi
BlockingResponse
Restituisce il valore per i gestori di eventi a cui è applicato l'extraInfoSpec "blocking". Consente al gestore di eventi di modificare le richieste di rete.
Proprietà
-
authCredentials
object facoltativo
Utilizzato solo come risposta all'evento onAuthRequired. Se impostato, la richiesta viene effettuata utilizzando le credenziali fornite.
-
password
stringa
-
nome utente
stringa
-
-
annulla
boolean facoltativo
Se true, la richiesta viene annullata. In questo modo, la richiesta non viene inviata. Può essere utilizzato come risposta agli eventi onBeforeRequest, onBeforeSendHeaders, onHeadersReceived e onAuthRequired.
-
redirectUrl
stringa facoltativa
Utilizzato solo come risposta agli eventi onBeforeRequest e onHeadersReceived. Se impostato, l'invio/il completamento della richiesta originale viene impedito e la richiesta viene reindirizzata all'URL specificato. I reindirizzamenti a schemi non HTTP come
data:sono consentiti. I reindirizzamenti avviati da un'azione di reindirizzamento utilizzano il metodo di richiesta originale per il reindirizzamento, con un'eccezione: se il reindirizzamento viene avviato nella fase onHeadersReceived, verrà eseguito utilizzando il metodo GET. I reindirizzamenti da URL con schemiws://ewss://vengono ignorati. -
requestHeaders
HttpHeaders facoltativo
Utilizzato solo come risposta all'evento onBeforeSendHeaders. Se impostato, la richiesta viene effettuata con queste intestazioni della richiesta.
-
responseHeaders
HttpHeaders facoltativo
Utilizzato solo come risposta all'evento onHeadersReceived. Se impostato, si presume che il server abbia risposto con queste intestazioni della risposta. Restituisci
responseHeaderssolo se vuoi davvero modificare le intestazioni per limitare il numero di conflitti (solo un'estensione può modificareresponseHeadersper ogni richiesta).
FormDataItem
Contiene i dati trasmessi all'interno dei dati del modulo. Per il modulo urlencoded, viene archiviato come stringa se i dati sono una stringa utf-8 e come ArrayBuffer in caso contrario. Per i dati dei moduli, è ArrayBuffer. Se i dati del modulo rappresentano il caricamento di un file, si tratta di una stringa con il nome file, se fornito.
Enum
ArrayBuffer
stringa
HttpHeaders
Un array di intestazioni HTTP. Ogni intestazione è rappresentata come un dizionario contenente le chiavi name e value o binaryValue.
Tipo
object[]
Proprietà
-
binaryValue
number[] facoltativo
Valore dell'intestazione HTTP se non può essere rappresentato da UTF-8, archiviato come singoli valori di byte (0..255).
-
nome
stringa
Nome dell'intestazione HTTP.
-
valore
stringa facoltativa
Valore dell'intestazione HTTP se può essere rappresentato da UTF-8.
IgnoredActionType
Enum
"redirect"
"request_headers"
"response_headers"
"auth_credentials"
OnAuthRequiredOptions
Enum
"responseHeaders"
Specifica che le intestazioni della risposta devono essere incluse nell'evento.
"blocking"
Specifica che la richiesta è bloccata finché la funzione di callback non restituisce un valore.
"asyncBlocking"
Specifica che la funzione di callback viene gestita in modo asincrono.
"extraHeaders"
Specifica che le intestazioni possono violare la condivisione di risorse multiorigine (CORS).
OnBeforeRedirectOptions
Enum
"responseHeaders"
Specifica che le intestazioni della risposta devono essere incluse nell'evento.
"extraHeaders"
Specifica che le intestazioni possono violare la condivisione di risorse multiorigine (CORS).
OnBeforeRequestOptions
Enum
"blocking"
Specifica che la richiesta è bloccata finché la funzione di callback non restituisce un valore.
"requestBody"
Specifica che il corpo della richiesta deve essere incluso nell'evento.
"extraHeaders"
Specifica che le intestazioni possono violare la condivisione di risorse multiorigine (CORS).
OnBeforeSendHeadersOptions
Enum
"requestHeaders"
Specifica che l'intestazione della richiesta deve essere inclusa nell'evento.
"blocking"
Specifica che la richiesta è bloccata finché la funzione di callback non restituisce un valore.
"extraHeaders"
Specifica che le intestazioni possono violare la condivisione di risorse multiorigine (CORS).
OnCompletedOptions
Enum
"responseHeaders"
Specifica che le intestazioni della risposta devono essere incluse nell'evento.
"extraHeaders"
Specifica che le intestazioni possono violare la condivisione di risorse multiorigine (CORS).
OnErrorOccurredOptions
Valore
"extraHeaders"
OnHeadersReceivedOptions
Enum
"blocking"
Specifica che la richiesta è bloccata finché la funzione di callback non restituisce un valore.
"responseHeaders"
Specifica che le intestazioni della risposta devono essere incluse nell'evento.
"extraHeaders"
Specifica che le intestazioni possono violare la condivisione di risorse multiorigine (CORS).
"securityInfo"
Specifica che SecurityInfo deve essere incluso nell'evento.
"securityInfoRawDer"
Specifica che l'evento deve includere SecurityInfo con i byte non elaborati dei certificati.
OnResponseStartedOptions
Enum
"responseHeaders"
Specifica che le intestazioni della risposta devono essere incluse nell'evento.
"extraHeaders"
Specifica che le intestazioni possono violare la condivisione di risorse multiorigine (CORS).
OnSendHeadersOptions
Enum
"requestHeaders"
Specifica che l'intestazione della richiesta deve essere inclusa nell'evento.
"extraHeaders"
Specifica che le intestazioni possono violare la condivisione di risorse multiorigine (CORS).
RequestFilter
Un oggetto che descrive i filtri da applicare agli eventi webRequest.
Proprietà
-
tabId
number optional
-
tipi
ResourceType[] facoltativo
Un elenco di tipi di richieste. Le richieste che non corrispondono a nessuno dei tipi verranno filtrate.
-
Url
string[]
Un elenco di URL o pattern URL. Le richieste che non corrispondono a nessuno degli URL verranno filtrate.
-
windowId
number optional
ResourceType
Enum
"main_frame"
Specifica la risorsa come frame principale.
"sub_frame"
Specifica la risorsa come frame secondario.
"stylesheet"
Specifica la risorsa come foglio di stile.
"script"
Specifica la risorsa come script.
"image"
Specifica la risorsa come immagine.
"font"
Specifica la risorsa come carattere.
"object"
Specifica la risorsa come oggetto.
"xmlhttprequest"
Specifica la risorsa come XMLHttpRequest.
"ping"
Specifica la risorsa come ping.
"csp_report"
Specifica la risorsa come report Content Security Policy (CSP).
"media"
Specifica la risorsa come oggetto multimediale.
"websocket"
Specifica la risorsa come WebSocket.
"webbundle"
Specifica la risorsa come WebBundle.
"other"
Specifica la risorsa come un tipo non incluso tra quelli elencati.
SecurityInfo
Proprietà
-
certificati
object[]
Un elenco di certificati
-
impronta
oggetto
Fingerprint del certificato.
-
sha256
stringa
Fingerprint SHA-256 del certificato.
-
-
rawDER
ArrayBuffer facoltativo
Byte non elaborati del certificato del server con codifica DER
-
-
stato
stringa
Stato della connessione. Uno tra sicuro, non sicuro, non funzionante.
UploadData
Contiene i dati caricati in una richiesta URL.
Proprietà
-
byte
any optional
Un ArrayBuffer con una copia dei dati.
-
file
stringa facoltativa
Una stringa con il percorso e il nome del file.
Proprietà
MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES
Il numero massimo di volte in cui handlerBehaviorChanged può essere chiamato per un intervallo continuo di 10 minuti. handlerBehaviorChanged è una chiamata di funzione costosa che non deve essere chiamata spesso.
Valore
20
Metodi
handlerBehaviorChanged()
chrome.webRequest.handlerBehaviorChanged(
callback?: function,
): Promise<void>
Deve essere chiamato quando il comportamento dei gestori webRequest è cambiato per impedire una gestione errata dovuta alla memorizzazione nella cache. Questa chiamata di funzione è costosa. Non chiamarlo spesso.
Parametri
-
callback
funzione elemento facoltativo
Il parametro
callbackha il seguente aspetto:() => void
Resi
-
Promise<void>
Chrome 116 e versioni successiveLe promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
Eventi
onActionIgnored
chrome.webRequest.onActionIgnored.addListener(
callback: function,
)
Viene attivato quando una modifica proposta da un'estensione a una richiesta di rete viene ignorata. Questo accade in caso di conflitti con altre estensioni.
Parametri
-
callback
funzione
Il parametro
callbackha il seguente aspetto:(details: object) => void
-
dettagli
oggetto
-
azione
L'azione proposta che è stata ignorata.
-
requestId
stringa
L'ID della richiesta. Gli ID richiesta sono univoci all'interno di una sessione del browser. Di conseguenza, potrebbero essere utilizzati per correlare diversi eventi della stessa richiesta.
-
-
onAuthRequired
chrome.webRequest.onAuthRequired.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnAuthRequiredOptions[],
)
Attivato quando viene ricevuto un errore di autenticazione. Il listener ha tre opzioni: può fornire le credenziali di autenticazione, può annullare la richiesta e visualizzare la pagina di errore oppure può non intraprendere alcuna azione in risposta alla verifica. Se vengono fornite credenziali utente errate, questo metodo potrebbe essere chiamato più volte per la stessa richiesta. Tieni presente che nel parametro extraInfoSpec deve essere specificata solo una delle modalità 'blocking' o 'asyncBlocking'.
Parametri
-
callback
funzione
Il parametro
callbackha il seguente aspetto:(details: object, asyncCallback?: function) => BlockingResponse | undefined
-
dettagli
oggetto
-
challenger
oggetto
Il server che richiede l'autenticazione.
-
host
stringa
-
porta
numero
-
-
documentId
stringa facoltativa
Chrome 106 e versioni successiveL'UUID del documento che effettua la richiesta.
-
documentLifecycleChrome 106 e versioni successive
Il ciclo di vita in cui si trova il documento.
-
frameId
numero
Il valore 0 indica che la richiesta avviene nel frame principale; un valore positivo indica l'ID di un frame secondario in cui avviene la richiesta. Se viene caricato il documento di un (sub)frame (
typeèmain_frameosub_frame),frameIdindica l'ID di questo frame, non l'ID del frame esterno. Gli ID frame sono univoci all'interno di una scheda. -
frameTypeChrome 106 e versioni successive
Il tipo di frame in cui si è verificata la richiesta.
-
initiator
stringa facoltativa
Chrome 63 e versioni successiveL'origine da cui è stata avviata la richiesta. Questo non cambia tramite i reindirizzamenti. Se si tratta di un'origine opaca, verrà utilizzata la stringa "null".
-
isProxy
booleano
True per Proxy-Authenticate, false per WWW-Authenticate.
-
method
stringa
Metodo HTTP standard.
-
parentDocumentId
stringa facoltativa
Chrome 106 e versioni successiveL'UUID del documento principale proprietario di questo frame. Questo valore non viene impostato se non esiste un elemento principale.
-
parentFrameId
numero
ID del frame che racchiude il frame che ha inviato la richiesta. Imposta su -1 se non esiste un frame principale.
-
realm
stringa facoltativa
Il realm di autenticazione fornito dal server, se presente.
-
requestId
stringa
L'ID della richiesta. Gli ID richiesta sono univoci all'interno di una sessione del browser. Di conseguenza, potrebbero essere utilizzati per correlare diversi eventi della stessa richiesta.
-
responseHeaders
HttpHeaders facoltativo
Le intestazioni della risposta HTTP ricevute insieme a questa risposta.
-
schema
stringa
Lo schema di autenticazione, ad esempio Basic o Digest.
-
statusCode
numero
Chrome 43 e versioni successiveCodice di stato HTTP standard restituito dal server.
-
statusLine
stringa
Riga di stato HTTP della risposta o stringa "HTTP/0.9 200 OK" per le risposte HTTP/0.9 (ovvero risposte prive di una riga di stato) o una stringa vuota se non sono presenti intestazioni.
-
tabId
numero
L'ID della scheda in cui viene eseguita la richiesta. Impostato su -1 se la richiesta non è correlata a una scheda.
-
timeStamp
numero
L'ora in cui viene attivato questo indicatore, in millisecondi dall'epoca.
-
tipo
Come verrà utilizzata la risorsa richiesta.
-
url
stringa
-
-
asyncCallback
funzione elemento facoltativo
Chrome 58 e versioni successiveIl parametro
asyncCallbackha il seguente aspetto:(response: BlockingResponse) => void
-
risposta
-
-
returns
BlockingResponse | undefined
Se nel parametro "extraInfoSpec" è specificato "blocking", il listener di eventi deve restituire un oggetto di questo tipo.
-
-
filtro
-
extraInfoSpec
OnAuthRequiredOptions[] facoltativo
onBeforeRedirect
chrome.webRequest.onBeforeRedirect.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnBeforeRedirectOptions[],
)
Attivato quando sta per verificarsi un reindirizzamento avviato dal server.
Parametri
-
callback
funzione
Il parametro
callbackha il seguente aspetto:(details: object) => void
-
dettagli
oggetto
-
documentId
stringa facoltativa
Chrome 106 e versioni successiveL'UUID del documento che effettua la richiesta.
-
documentLifecycleChrome 106 e versioni successive
Il ciclo di vita in cui si trova il documento.
-
frameId
numero
Il valore 0 indica che la richiesta avviene nel frame principale; un valore positivo indica l'ID di un frame secondario in cui avviene la richiesta. Se viene caricato il documento di un (sub)frame (
typeèmain_frameosub_frame),frameIdindica l'ID di questo frame, non l'ID del frame esterno. Gli ID frame sono univoci all'interno di una scheda. -
frameTypeChrome 106 e versioni successive
Il tipo di frame in cui si è verificata la richiesta.
-
fromCache
booleano
Indica se questa risposta è stata recuperata dalla cache del disco.
-
initiator
stringa facoltativa
Chrome 63 e versioni successiveL'origine da cui è stata avviata la richiesta. Questo non cambia tramite i reindirizzamenti. Se si tratta di un'origine opaca, verrà utilizzata la stringa "null".
-
ip
stringa facoltativa
L'indirizzo IP del server a cui è stata effettivamente inviata la richiesta. Tieni presente che potrebbe essere un indirizzo IPv6 letterale.
-
method
stringa
Metodo HTTP standard.
-
parentDocumentId
stringa facoltativa
Chrome 106 e versioni successiveL'UUID del documento principale proprietario di questo frame. Questo valore non viene impostato se non esiste un elemento principale.
-
parentFrameId
numero
ID del frame che racchiude il frame che ha inviato la richiesta. Imposta su -1 se non esiste un frame principale.
-
redirectUrl
stringa
Il nuovo URL.
-
requestId
stringa
L'ID della richiesta. Gli ID richiesta sono univoci all'interno di una sessione del browser. Di conseguenza, potrebbero essere utilizzati per correlare diversi eventi della stessa richiesta.
-
responseHeaders
HttpHeaders facoltativo
Le intestazioni della risposta HTTP ricevute insieme a questo reindirizzamento.
-
statusCode
numero
Codice di stato HTTP standard restituito dal server.
-
statusLine
stringa
Riga di stato HTTP della risposta o stringa "HTTP/0.9 200 OK" per le risposte HTTP/0.9 (ovvero risposte prive di una riga di stato) o una stringa vuota se non sono presenti intestazioni.
-
tabId
numero
L'ID della scheda in cui viene eseguita la richiesta. Impostato su -1 se la richiesta non è correlata a una scheda.
-
timeStamp
numero
L'ora in cui viene attivato questo indicatore, in millisecondi dall'epoca.
-
tipo
Come verrà utilizzata la risorsa richiesta.
-
url
stringa
-
-
-
filtro
-
extraInfoSpec
OnBeforeRedirectOptions[] facoltativo
onBeforeRequest
chrome.webRequest.onBeforeRequest.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnBeforeRequestOptions[],
)
Attivato quando sta per essere effettuata una richiesta.
Parametri
-
callback
funzione
Il parametro
callbackha il seguente aspetto:(details: object) => BlockingResponse | undefined
-
dettagli
oggetto
-
documentId
stringa facoltativa
Chrome 106 e versioni successiveL'UUID del documento che effettua la richiesta.
-
documentLifecycle
extensionTypes.DocumentLifecycle facoltativo
Chrome 106 e versioni successiveIl ciclo di vita in cui si trova il documento.
-
frameId
numero
Il valore 0 indica che la richiesta avviene nel frame principale; un valore positivo indica l'ID di un frame secondario in cui avviene la richiesta. Se viene caricato il documento di un (sub)frame (
typeèmain_frameosub_frame),frameIdindica l'ID di questo frame, non l'ID del frame esterno. Gli ID frame sono univoci all'interno di una scheda. -
frameType
extensionTypes.FrameType facoltativo
Chrome 106 e versioni successiveIl tipo di frame in cui si è verificata la richiesta.
-
initiator
stringa facoltativa
Chrome 63 e versioni successiveL'origine da cui è stata avviata la richiesta. Questo non cambia tramite i reindirizzamenti. Se si tratta di un'origine opaca, verrà utilizzata la stringa "null".
-
method
stringa
Metodo HTTP standard.
-
parentDocumentId
stringa facoltativa
Chrome 106 e versioni successiveL'UUID del documento principale proprietario di questo frame. Questo valore non viene impostato se non esiste un elemento principale.
-
parentFrameId
numero
ID del frame che racchiude il frame che ha inviato la richiesta. Imposta su -1 se non esiste un frame principale.
-
requestBody
object facoltativo
Contiene i dati del corpo della richiesta HTTP. Fornito solo se extraInfoSpec contiene "requestBody".
-
errore
stringa facoltativa
Errori durante l'ottenimento dei dati del corpo della richiesta.
-
formData
object facoltativo
Se il metodo di richiesta è POST e il corpo è una sequenza di coppie chiave-valore codificate in UTF8, codificate come multipart/form-data o application/x-www-form-urlencoded, questo dizionario è presente e per ogni chiave contiene l'elenco di tutti i valori per quella chiave. Se i dati sono di un altro tipo di media o se non sono formattati correttamente, il dizionario non è presente. Un valore di esempio di questo dizionario è {'key': ['value1', 'value2']}.
-
raw
UploadData[] facoltativo
Se il metodo di richiesta è PUT o POST e il corpo non è già stato analizzato in formData, gli elementi del corpo della richiesta non analizzati sono contenuti in questo array.
-
-
requestId
stringa
L'ID della richiesta. Gli ID richiesta sono univoci all'interno di una sessione del browser. Di conseguenza, potrebbero essere utilizzati per correlare diversi eventi della stessa richiesta.
-
tabId
numero
L'ID della scheda in cui viene eseguita la richiesta. Impostato su -1 se la richiesta non è correlata a una scheda.
-
timeStamp
numero
L'ora in cui viene attivato questo indicatore, in millisecondi dall'epoca.
-
tipo
Come verrà utilizzata la risorsa richiesta.
-
url
stringa
-
-
returns
BlockingResponse | undefined
Se nel parametro "extraInfoSpec" è specificato "blocking", il listener di eventi deve restituire un oggetto di questo tipo.
-
-
filtro
-
extraInfoSpec
OnBeforeRequestOptions[] facoltativo
onBeforeSendHeaders
chrome.webRequest.onBeforeSendHeaders.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnBeforeSendHeadersOptions[],
)
Attivato prima di inviare una richiesta HTTP, una volta che le intestazioni della richiesta sono disponibili. Questo può verificarsi dopo che è stata stabilita una connessione TCP al server, ma prima che vengano inviati dati HTTP.
Parametri
-
callback
funzione
Il parametro
callbackha il seguente aspetto:(details: object) => BlockingResponse | undefined
-
dettagli
oggetto
-
documentId
stringa facoltativa
Chrome 106 e versioni successiveL'UUID del documento che effettua la richiesta.
-
documentLifecycleChrome 106 e versioni successive
Il ciclo di vita in cui si trova il documento.
-
frameId
numero
Il valore 0 indica che la richiesta avviene nel frame principale; un valore positivo indica l'ID di un frame secondario in cui avviene la richiesta. Se viene caricato il documento di un (sub)frame (
typeèmain_frameosub_frame),frameIdindica l'ID di questo frame, non l'ID del frame esterno. Gli ID frame sono univoci all'interno di una scheda. -
frameTypeChrome 106 e versioni successive
Il tipo di frame in cui si è verificata la richiesta.
-
initiator
stringa facoltativa
Chrome 63 e versioni successiveL'origine da cui è stata avviata la richiesta. Questo non cambia tramite i reindirizzamenti. Se si tratta di un'origine opaca, verrà utilizzata la stringa "null".
-
method
stringa
Metodo HTTP standard.
-
parentDocumentId
stringa facoltativa
Chrome 106 e versioni successiveL'UUID del documento principale proprietario di questo frame. Questo valore non viene impostato se non esiste un elemento principale.
-
parentFrameId
numero
ID del frame che racchiude il frame che ha inviato la richiesta. Imposta su -1 se non esiste un frame principale.
-
requestHeaders
HttpHeaders facoltativo
Le intestazioni della richiesta HTTP che verranno inviate con questa richiesta.
-
requestId
stringa
L'ID della richiesta. Gli ID richiesta sono univoci all'interno di una sessione del browser. Di conseguenza, potrebbero essere utilizzati per correlare diversi eventi della stessa richiesta.
-
tabId
numero
L'ID della scheda in cui viene eseguita la richiesta. Impostato su -1 se la richiesta non è correlata a una scheda.
-
timeStamp
numero
L'ora in cui viene attivato questo indicatore, in millisecondi dall'epoca.
-
tipo
Come verrà utilizzata la risorsa richiesta.
-
url
stringa
-
-
returns
BlockingResponse | undefined
Se nel parametro "extraInfoSpec" è specificato "blocking", il listener di eventi deve restituire un oggetto di questo tipo.
-
-
filtro
-
extraInfoSpec
OnBeforeSendHeadersOptions[] facoltativo
onCompleted
chrome.webRequest.onCompleted.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnCompletedOptions[],
)
Attivato quando una richiesta viene completata.
Parametri
-
callback
funzione
Il parametro
callbackha il seguente aspetto:(details: object) => void
-
dettagli
oggetto
-
documentId
stringa facoltativa
Chrome 106 e versioni successiveL'UUID del documento che effettua la richiesta.
-
documentLifecycleChrome 106 e versioni successive
Il ciclo di vita in cui si trova il documento.
-
frameId
numero
Il valore 0 indica che la richiesta avviene nel frame principale; un valore positivo indica l'ID di un frame secondario in cui avviene la richiesta. Se viene caricato il documento di un (sub)frame (
typeèmain_frameosub_frame),frameIdindica l'ID di questo frame, non l'ID del frame esterno. Gli ID frame sono univoci all'interno di una scheda. -
frameTypeChrome 106 e versioni successive
Il tipo di frame in cui si è verificata la richiesta.
-
fromCache
booleano
Indica se questa risposta è stata recuperata dalla cache del disco.
-
initiator
stringa facoltativa
Chrome 63 e versioni successiveL'origine da cui è stata avviata la richiesta. Questo non cambia tramite i reindirizzamenti. Se si tratta di un'origine opaca, verrà utilizzata la stringa "null".
-
ip
stringa facoltativa
L'indirizzo IP del server a cui è stata effettivamente inviata la richiesta. Tieni presente che potrebbe essere un indirizzo IPv6 letterale.
-
method
stringa
Metodo HTTP standard.
-
parentDocumentId
stringa facoltativa
Chrome 106 e versioni successiveL'UUID del documento principale proprietario di questo frame. Questo valore non viene impostato se non esiste un elemento principale.
-
parentFrameId
numero
ID del frame che racchiude il frame che ha inviato la richiesta. Imposta su -1 se non esiste un frame principale.
-
requestId
stringa
L'ID della richiesta. Gli ID richiesta sono univoci all'interno di una sessione del browser. Di conseguenza, potrebbero essere utilizzati per correlare diversi eventi della stessa richiesta.
-
responseHeaders
HttpHeaders facoltativo
Le intestazioni della risposta HTTP ricevute insieme a questa risposta.
-
statusCode
numero
Codice di stato HTTP standard restituito dal server.
-
statusLine
stringa
Riga di stato HTTP della risposta o stringa "HTTP/0.9 200 OK" per le risposte HTTP/0.9 (ovvero risposte prive di una riga di stato) o una stringa vuota se non sono presenti intestazioni.
-
tabId
numero
L'ID della scheda in cui viene eseguita la richiesta. Impostato su -1 se la richiesta non è correlata a una scheda.
-
timeStamp
numero
L'ora in cui viene attivato questo indicatore, in millisecondi dall'epoca.
-
tipo
Come verrà utilizzata la risorsa richiesta.
-
url
stringa
-
-
-
filtro
-
extraInfoSpec
OnCompletedOptions[] facoltativo
onErrorOccurred
chrome.webRequest.onErrorOccurred.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnErrorOccurredOptions[],
)
Attivato quando si verifica un errore.
Parametri
-
callback
funzione
Il parametro
callbackha il seguente aspetto:(details: object) => void
-
dettagli
oggetto
-
documentId
stringa facoltativa
Chrome 106 e versioni successiveL'UUID del documento che effettua la richiesta. Questo valore non è presente se la richiesta è una navigazione di un frame.
-
documentLifecycleChrome 106 e versioni successive
Il ciclo di vita in cui si trova il documento.
-
errore
stringa
La descrizione dell'errore. Non è garantito che questa stringa rimanga compatibile con le versioni precedenti tra le release. Non devi analizzare e agire in base ai suoi contenuti.
-
frameId
numero
Il valore 0 indica che la richiesta avviene nel frame principale; un valore positivo indica l'ID di un frame secondario in cui avviene la richiesta. Se viene caricato il documento di un (sub)frame (
typeèmain_frameosub_frame),frameIdindica l'ID di questo frame, non l'ID del frame esterno. Gli ID frame sono univoci all'interno di una scheda. -
frameTypeChrome 106 e versioni successive
Il tipo di frame in cui si è verificata la richiesta.
-
fromCache
booleano
Indica se questa risposta è stata recuperata dalla cache del disco.
-
initiator
stringa facoltativa
Chrome 63 e versioni successiveL'origine da cui è stata avviata la richiesta. Questo non cambia tramite i reindirizzamenti. Se si tratta di un'origine opaca, verrà utilizzata la stringa "null".
-
ip
stringa facoltativa
L'indirizzo IP del server a cui è stata effettivamente inviata la richiesta. Tieni presente che potrebbe essere un indirizzo IPv6 letterale.
-
method
stringa
Metodo HTTP standard.
-
parentDocumentId
stringa facoltativa
Chrome 106 e versioni successiveL'UUID del documento principale proprietario di questo frame. Questo valore non viene impostato se non esiste un elemento principale.
-
parentFrameId
numero
ID del frame che racchiude il frame che ha inviato la richiesta. Imposta su -1 se non esiste un frame principale.
-
requestId
stringa
L'ID della richiesta. Gli ID richiesta sono univoci all'interno di una sessione del browser. Di conseguenza, potrebbero essere utilizzati per correlare diversi eventi della stessa richiesta.
-
tabId
numero
L'ID della scheda in cui viene eseguita la richiesta. Impostato su -1 se la richiesta non è correlata a una scheda.
-
timeStamp
numero
L'ora in cui viene attivato questo indicatore, in millisecondi dall'epoca.
-
tipo
Come verrà utilizzata la risorsa richiesta.
-
url
stringa
-
-
-
filtro
-
extraInfoSpec
OnErrorOccurredOptions[] facoltativo
onHeadersReceived
chrome.webRequest.onHeadersReceived.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnHeadersReceivedOptions[],
)
Attivato quando vengono ricevute le intestazioni della risposta HTTP di una richiesta.
Parametri
-
callback
funzione
Il parametro
callbackha il seguente aspetto:(details: object) => BlockingResponse | undefined
-
dettagli
oggetto
-
documentId
stringa facoltativa
Chrome 106 e versioni successiveL'UUID del documento che effettua la richiesta.
-
documentLifecycleChrome 106 e versioni successive
Il ciclo di vita in cui si trova il documento.
-
frameId
numero
Il valore 0 indica che la richiesta avviene nel frame principale; un valore positivo indica l'ID di un frame secondario in cui avviene la richiesta. Se viene caricato il documento di un (sub)frame (
typeèmain_frameosub_frame),frameIdindica l'ID di questo frame, non l'ID del frame esterno. Gli ID frame sono univoci all'interno di una scheda. -
frameTypeChrome 106 e versioni successive
Il tipo di frame in cui si è verificata la richiesta.
-
initiator
stringa facoltativa
Chrome 63 e versioni successiveL'origine da cui è stata avviata la richiesta. Questo non cambia tramite i reindirizzamenti. Se si tratta di un'origine opaca, verrà utilizzata la stringa "null".
-
method
stringa
Metodo HTTP standard.
-
parentDocumentId
stringa facoltativa
Chrome 106 e versioni successiveL'UUID del documento principale proprietario di questo frame. Questo valore non viene impostato se non esiste un elemento principale.
-
parentFrameId
numero
ID del frame che racchiude il frame che ha inviato la richiesta. Imposta su -1 se non esiste un frame principale.
-
requestId
stringa
L'ID della richiesta. Gli ID richiesta sono univoci all'interno di una sessione del browser. Di conseguenza, potrebbero essere utilizzati per correlare diversi eventi della stessa richiesta.
-
responseHeaders
HttpHeaders facoltativo
Le intestazioni della risposta HTTP ricevute con questa risposta.
-
securityInfo
SecurityInfo facoltativo
Chrome 144+Informazioni sulla connessione TLS/QUIC utilizzata per la connessione sottostante. Viene fornito solo se
securityInfoè specificato nel parametroextraInfoSpec. -
statusCode
numero
Chrome 43 e versioni successiveCodice di stato HTTP standard restituito dal server.
-
statusLine
stringa
Riga di stato HTTP della risposta o stringa "HTTP/0.9 200 OK" per le risposte HTTP/0.9 (ovvero risposte prive di una riga di stato).
-
tabId
numero
L'ID della scheda in cui viene eseguita la richiesta. Impostato su -1 se la richiesta non è correlata a una scheda.
-
timeStamp
numero
L'ora in cui viene attivato questo indicatore, in millisecondi dall'epoca.
-
tipo
Come verrà utilizzata la risorsa richiesta.
-
url
stringa
-
-
returns
BlockingResponse | undefined
Se nel parametro "extraInfoSpec" è specificato "blocking", il listener di eventi deve restituire un oggetto di questo tipo.
-
-
filtro
-
extraInfoSpec
OnHeadersReceivedOptions[] facoltativo
onResponseStarted
chrome.webRequest.onResponseStarted.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnResponseStartedOptions[],
)
Attivato quando viene ricevuto il primo byte del corpo della risposta. Per le richieste HTTP, ciò significa che la riga di stato e le intestazioni della risposta sono disponibili.
Parametri
-
callback
funzione
Il parametro
callbackha il seguente aspetto:(details: object) => void
-
dettagli
oggetto
-
documentId
stringa facoltativa
Chrome 106 e versioni successiveL'UUID del documento che effettua la richiesta.
-
documentLifecycleChrome 106 e versioni successive
Il ciclo di vita in cui si trova il documento.
-
frameId
numero
Il valore 0 indica che la richiesta avviene nel frame principale; un valore positivo indica l'ID di un frame secondario in cui avviene la richiesta. Se viene caricato il documento di un (sub)frame (
typeèmain_frameosub_frame),frameIdindica l'ID di questo frame, non l'ID del frame esterno. Gli ID frame sono univoci all'interno di una scheda. -
frameTypeChrome 106 e versioni successive
Il tipo di frame in cui si è verificata la richiesta.
-
fromCache
booleano
Indica se questa risposta è stata recuperata dalla cache del disco.
-
initiator
stringa facoltativa
Chrome 63 e versioni successiveL'origine da cui è stata avviata la richiesta. Questo non cambia tramite i reindirizzamenti. Se si tratta di un'origine opaca, verrà utilizzata la stringa "null".
-
ip
stringa facoltativa
L'indirizzo IP del server a cui è stata effettivamente inviata la richiesta. Tieni presente che potrebbe essere un indirizzo IPv6 letterale.
-
method
stringa
Metodo HTTP standard.
-
parentDocumentId
stringa facoltativa
Chrome 106 e versioni successiveL'UUID del documento principale proprietario di questo frame. Questo valore non viene impostato se non esiste un elemento principale.
-
parentFrameId
numero
ID del frame che racchiude il frame che ha inviato la richiesta. Imposta su -1 se non esiste un frame principale.
-
requestId
stringa
L'ID della richiesta. Gli ID richiesta sono univoci all'interno di una sessione del browser. Di conseguenza, potrebbero essere utilizzati per correlare diversi eventi della stessa richiesta.
-
responseHeaders
HttpHeaders facoltativo
Le intestazioni della risposta HTTP ricevute insieme a questa risposta.
-
statusCode
numero
Codice di stato HTTP standard restituito dal server.
-
statusLine
stringa
Riga di stato HTTP della risposta o stringa "HTTP/0.9 200 OK" per le risposte HTTP/0.9 (ovvero risposte prive di una riga di stato) o una stringa vuota se non sono presenti intestazioni.
-
tabId
numero
L'ID della scheda in cui viene eseguita la richiesta. Impostato su -1 se la richiesta non è correlata a una scheda.
-
timeStamp
numero
L'ora in cui viene attivato questo indicatore, in millisecondi dall'epoca.
-
tipo
Come verrà utilizzata la risorsa richiesta.
-
url
stringa
-
-
-
filtro
-
extraInfoSpec
OnResponseStartedOptions[] facoltativo
onSendHeaders
chrome.webRequest.onSendHeaders.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnSendHeadersOptions[],
)
Attivato appena prima che una richiesta venga inviata al server (le modifiche dei callback onBeforeSendHeaders precedenti sono visibili al momento dell'attivazione di onSendHeaders).
Parametri
-
callback
funzione
Il parametro
callbackha il seguente aspetto:(details: object) => void
-
dettagli
oggetto
-
documentId
stringa facoltativa
Chrome 106 e versioni successiveL'UUID del documento che effettua la richiesta.
-
documentLifecycleChrome 106 e versioni successive
Il ciclo di vita in cui si trova il documento.
-
frameId
numero
Il valore 0 indica che la richiesta avviene nel frame principale; un valore positivo indica l'ID di un frame secondario in cui avviene la richiesta. Se viene caricato il documento di un (sub)frame (
typeèmain_frameosub_frame),frameIdindica l'ID di questo frame, non l'ID del frame esterno. Gli ID frame sono univoci all'interno di una scheda. -
frameTypeChrome 106 e versioni successive
Il tipo di frame in cui si è verificata la richiesta.
-
initiator
stringa facoltativa
Chrome 63 e versioni successiveL'origine da cui è stata avviata la richiesta. Questo non cambia tramite i reindirizzamenti. Se si tratta di un'origine opaca, verrà utilizzata la stringa "null".
-
method
stringa
Metodo HTTP standard.
-
parentDocumentId
stringa facoltativa
Chrome 106 e versioni successiveL'UUID del documento principale proprietario di questo frame. Questo valore non viene impostato se non esiste un elemento principale.
-
parentFrameId
numero
ID del frame che racchiude il frame che ha inviato la richiesta. Imposta su -1 se non esiste un frame principale.
-
requestHeaders
HttpHeaders facoltativo
Le intestazioni della richiesta HTTP inviate con questa richiesta.
-
requestId
stringa
L'ID della richiesta. Gli ID richiesta sono univoci all'interno di una sessione del browser. Di conseguenza, potrebbero essere utilizzati per correlare diversi eventi della stessa richiesta.
-
tabId
numero
L'ID della scheda in cui viene eseguita la richiesta. Impostato su -1 se la richiesta non è correlata a una scheda.
-
timeStamp
numero
L'ora in cui viene attivato questo indicatore, in millisecondi dall'epoca.
-
tipo
Come verrà utilizzata la risorsa richiesta.
-
url
stringa
-
-
-
filtro
-
extraInfoSpec
OnSendHeadersOptions[] facoltativo