説明
chrome.webRequest
API を使用して、トラフィックをモニタリングおよび分析し、処理中のリクエストをインターセプト、ブロック、変更します。
権限
webRequest
マニフェスト
ウェブ リクエストを使用するには、拡張機能のマニフェストで "webRequest"
権限を宣言する必要があります
API と必要なホスト権限。サブリソース リクエストをインターセプトするには、
拡張機能は、リクエストされた URL とそのイニシエータの両方にアクセスできる必要があります。例:
{
"name": "My extension",
...
"permissions": [
"webRequest"
],
"host_permissions": [
"*://*.google.com/*"
],
...
}
Chrome 108 以降では、"webRequest"
と "webRequestAuthProvider"
を使用している場合、onAuthRequired
イベントの認証情報を非同期で提供できます。
付与できます。
リクエストのライフサイクル
ウェブ リクエスト API は、ウェブ リクエストのライフサイクルに沿った一連のイベントを定義します。次を使用: これらのイベントをモニタリングおよび分析できます。一部の同期イベントでは、 リクエストをブロック、変更できます。
以下に、成功したリクエストのイベント ライフサイクルと、イベント定義を示します。
onBeforeRequest
(必要に応じて同期)- リクエストの発生時に起動します。このイベントは TCP 接続が確立される前に送信され、 リクエストのキャンセルやリダイレクトに使用される。
onBeforeSendHeaders
(必要に応じて同期)- リクエストが発生し、最初のヘッダーが準備されたときに起動します。イベントは
拡張機能がリクエスト ヘッダーを追加、変更、削除できるようにすることを目的とした(*)。「
onBeforeSendHeaders
イベントはすべてのサブスクライバーに渡されるため、異なるサブスクライバーがイベントを試行する可能性があります。 リクエストを変更するこの処理方法については、実装の詳細セクションをご覧ください。この予定 リクエストをキャンセルできます。 onSendHeaders
- すべての拡張機能がリクエスト ヘッダーを変更できるようになると起動し、最終的な (*)バージョン。このイベントは、ヘッダーがネットワークに送信される前にトリガーされます。この予定: 非同期的に処理されます。リクエストの変更やキャンセルはできません。
onHeadersReceived
(必要に応じて同期)- HTTP(S) レスポンス ヘッダーが受信されるたびに呼び出されます。リダイレクトと認証のため リクエストごとに複数回行われることもあります。このイベントは、拡張機能が 受信 Content-Type ヘッダーなどのレスポンス ヘッダーの追加、変更、削除。キャッシュ保存 ディレクティブは、このイベントがトリガーされる前に処理されるため、Cache-Control などのヘッダーの変更は ブラウザのキャッシュには影響しません。また、リクエストをキャンセルまたはリダイレクトすることもできます。
onAuthRequired
(必要に応じて同期)- リクエストでユーザーの認証が必要になると呼び出されます。このイベントは同期的に処理され 認証情報を提供します。拡張機能では無効な認証情報が提供される場合があります。気をつけて 無効な認証情報を繰り返し提供して無限ループに 入らないようにする必要がありますこれを使用して リクエストをキャンセルします。
onBeforeRedirect
- リダイレクトの実行の直前に起動します。リダイレクトは HTTP レスポンスによってトリガーされます。 できます。このイベントは情報提供を目的としており、非同期で処理されます。禁止事項 リクエストを変更またはキャンセルすることができます。
onResponseStarted
- レスポンス本文の最初のバイトが受信されたときに起動します。HTTP リクエストの場合、これは ステータス行とレスポンスのヘッダーを利用できます。このイベントは情報提供を目的としており、 使用できます。リクエストの変更やキャンセルはできません。
onCompleted
- リクエストが正常に処理されると起動します。
onErrorOccurred
- リクエストを正常に処理できなかった場合に発生します。
ウェブ リクエスト API は、リクエストごとに onCompleted
または onErrorOccurred
のいずれかが、
最後のイベントとして呼び出されますが、1 つの例外があります。リクエストが data://
URL にリダイレクトされた場合、
最後に報告されたイベントは onBeforeRedirect
です。
* ウェブ リクエスト API は、ネットワーク スタックの抽象化を拡張機能に提示します。 内部的には、1 つの URL リクエストを複数の HTTP リクエストに分割できます(たとえば、 (大きなファイルからバイト範囲を取得)するか、ネットワーク スタックによって 接続しますこのため、API に送信される最終的な HTTP ヘッダーは API では提供されません。 接続しますたとえば、キャッシュに関連するすべてのヘッダーは拡張機能からは見えません。
以下のヘッダーは現在、onBeforeSendHeaders
イベントに提供されていません。このリスト
は完全または安定しているとは限りません。
- 承認
- Cache-Control
- 接続
- Content-Length
- ホスト
- If-Modified-Since
- If-None-Match
- if-Range
- 部分データ
- プラグマ
- プロキシ認証
- プロキシ接続
- Transfer-Encoding
Chrome 79 以降、リクエスト ヘッダーの変更によるクロスオリジン リソース シェアリング(CORS)への影響
チェックを行います変更されたクロスオリジン リクエストのヘッダーが条件を満たしていない場合、
CORS プリフライトを送信して、このようなヘッダーが受け入れられるかどうかをサーバーに問い合わせます。本当に必要な場合は
CORS プロトコルに違反する方法でヘッダーを変更する場合は、'extraHeaders'
を
opt_extraInfoSpec
。一方、レスポンス ヘッダーを変更しても CORS を偽ることはできません
チェックを行いますCORS プロトコルを欺く必要がある場合は、'extraHeaders'
も指定する必要があります。
役立ちます。
Chrome 79 以降、webRequest API は CORS プリフライト リクエストをインターセプトしません。
設定することもできます。リクエスト URL の CORS プリフライトは、
リクエスト URL に対して、opt_extraInfoSpec
で指定された 'extraHeaders'
を持つリスナー。
onBeforeRequest
は Chrome 79 から 'extraHeaders'
を取得することもできます。
Chrome 79 以降では、以下のリクエスト ヘッダーは提供されず、変更したり、変更したりすることはできません。
opt_extraInfoSpec
で 'extraHeaders'
を指定せずに削除:
- 出発地
クロスオリジン読み取りブロックの前にレスポンスを変更する必要がある場合(Chrome 72 以降)
(CORB)がレスポンスをブロックする可能性があるため、opt_extraInfoSpec
で 'extraHeaders'
を指定する必要があります。
Chrome 72 以降、以下のリクエスト ヘッダーは提供されず、変更できません。
または、opt_extraInfoSpec
で 'extraHeaders'
を指定せずに削除:
- 言語を受け入れる
- Accept-Encoding
- リファラー
- Cookie
Chrome 72 以降、Set-Cookie
レスポンス ヘッダーは提供されず、変更できません。
opt_extraInfoSpec
で 'extraHeaders'
を指定せずに削除したりできます。
Chrome 89 以降、X-Frame-Options
レスポンス ヘッダーを効果的に変更できない
opt_extraInfoSpec
で 'extraHeaders'
を指定せずに削除されました。
webRequest API は、その拡張機能のホストが特定の
権限。また、次のスキームのみにアクセスできます: http://
、https://
、
ftp://
、file://
、ws://
(Chrome 58 以降)、wss://
(Chrome 58 以降)、urn:
(Chrome 91 以降)、または
chrome-extension://
。また、上記のスキームのいずれかを使用する URL を含む特定のリクエストであっても、
非表示になります。これには、other_extension_id
が一致しない chrome-extension://other_extension_id
が含まれます。
リクエストを処理する拡張機能の ID、https://www.google.com/chrome
、その他の機密
ブラウザ機能の中核をなすリクエストです。また、拡張機能からの同期 XMLHttpRequests が
デッドロックを防ぐため、イベント ハンドラをブロックしないよう非表示になっています。一部のケースでは
利用可能なイベントのセットは、イベントの性質上、制限される場合があります。
対応するプロトコルを指定します。たとえば、scheme というファイルの場合、onBeforeRequest
のみにします。
onResponseStarted
、onCompleted
、onErrorOccurred
がディスパッチされる場合があります。
Chrome 58 以降では、webRequest API で WebSocket handshake リクエストのインターセプトがサポートされます。 handshake は HTTP アップグレード リクエストによって行われるため、そのフローは HTTP 指向に適合します。 webRequest モデル。この API はインターセプトしないことに注意してください。
- 確立された WebSocket 接続を介して送信される個々のメッセージ。
- WebSocket の接続の終了。
WebSocket リクエストではリダイレクトはサポートされていません。
Chrome 72 以降、拡張機能がリクエストをインターセプトできるのは、ホストがある場合に限ります。 リクエストを送信した URL とリクエスト イニシエータの両方に付与する必要があります。
Chrome 96 以降、webRequest API で HTTP/3 を介した WebTransport のインターセプトがサポートされます リクエストできます。handshake は HTTP CONNECT リクエストによって行われるため、そのフローはこれに適合します。 HTTP 指向の webRequest モデルに変換できます。次のことに注意してください。
- セッションが確立されると、拡張機能は webRequest API をご覧ください。
onBeforeSendHeaders
での HTTP リクエスト ヘッダーの変更は無視されます。- HTTP/3 経由の WebTransport では、リダイレクトと認証はサポートされていません。
コンセプト
以降のセクションでは、ウェブ リクエスト API のイベントでリクエスト ID を使用するため、 必要に応じて、イベント リスナーの登録時にフィルタと追加情報を指定します。
リクエスト ID
各リクエストはリクエスト ID で識別されます。この ID はブラウザ セッション内で一意であり、 コンテキストを定義します。リクエストのライフサイクル中は不変で、使用可能な 同じリクエストのイベントを照合できます。複数の HTTP リクエストが 1 つのウェブ リクエストにマッピングされる HTTP リダイレクトまたは HTTP 認証の場合に使用しないでください。
イベント リスナーの登録
ウェブ リクエストのイベント リスナーを登録するには、通常の addListener()
関数です。コールバック関数に加えて、フィルタ引数を指定する必要があります。また、オプションの追加情報 info 引数を指定することもできます。
ウェブ リクエスト API の addListener()
に対する 3 つの引数の定義は次のとおりです。
var callback = function(details) {...};
var filter = {...};
var opt_extraInfoSpec = [...];
onBeforeRequest
イベントをリッスンする例を次に示します。
chrome.webRequest.onBeforeRequest.addListener(
callback, filter, opt_extraInfoSpec);
各 addListener()
呼び出しは、最初のパラメータとして必須のコールバック関数を受け取ります。このコールバックは、
関数には、現在の URL リクエストに関する情報を含む辞書が渡されます。「
このディクショナリの情報は、特定のイベントタイプと
opt_extraInfoSpec
。
オプションの opt_extraInfoSpec
配列に文字列 'blocking'
が含まれている場合(
イベントを処理する場合)、コールバック関数は同期的に処理されます。つまり、リクエストは
コールバック関数が戻るまでブロックされます。この場合、コールバックは
webRequest.BlockingResponse
: リクエストのそれ以降のライフサイクルを決定します。影響する
コンテキストで、このレスポンスでリクエストのキャンセルまたはリダイレクト(onBeforeRequest
)が許可されます。
リクエストのキャンセルまたはヘッダーの変更(onBeforeSendHeaders
、onHeadersReceived
)
リクエストのキャンセル、認証情報(onAuthRequired
)の提供。
オプションの opt_extraInfoSpec
配列に文字列 'asyncBlocking'
が含まれている場合(
onAuthRequired
に許可されている場合)、拡張機能は webRequest.BlockingResponse
を生成できます。
使用できます。
webRequest.RequestFilter
filter
を使用すると、イベントを送信するリクエストを制限できます。
さまざまなディメンションでトリガーされます
- URL
- URL パターン(
*://www.google.com/foo*bar
など)。 - 型
- リクエスト タイプには、
main_frame
(最上位フレームで読み込まれるドキュメント)、sub_frame
( (埋め込みフレーム用に読み込まれるドキュメント)、image
(ウェブサイト上の画像)などがあります。詳しくは、webRequest.RequestFilter
。 - タブ ID
- 1 つのタブの識別子。
- ウィンドウ ID
- ウィンドウの識別子。
イベントタイプによっては、opt_extraInfoSpec
で文字列を指定して追加を要求できます。
リクエストに関する情報が表示されます。リクエストのデータに関する詳細情報のみを提供するために使用されます。
明示的にリクエストされた場合には必要ありません
実装の詳細
ウェブ リクエスト API:
web_accessible_resources
拡張機能が webRequest API を使用して、ウェブアクセスが不可能なリソースに一般公開リソース リクエストをリダイレクトすると、ブロックされ、エラーが発生します。上記は、ウェブアクセスできないリソースがリダイレクト拡張機能によって所有されている場合にも当てはまります。declarativeWebRequest API で使用するリソースを宣言するには、こちらに記載されているとおり、マニフェストで "web_accessible_resources"
配列を宣言して入力する必要があります。
競合解決
ウェブ リクエスト API の現在の実装では、
リクエストをキャンセルするよう指示する拡張機能があります。拡張機能がリクエストをキャンセルすると、
拡張機能は onErrorOccurred
イベントによって通知されます。リダイレクトできる拡張機能は 1 つのみです。
一度に 1 つずつ、ヘッダーのリクエストや変更ができます。複数の拡張機能がリクエストを変更しようとした場合、
最近インストールされた拡張機能が優先され、その他はすべて無視されます。次の場合、拡張機能には通知されません。
変更またはリダイレクトの命令が無視されました。
キャッシュ
Chrome は、ディスク上のキャッシュと非常に高速なメモリ内キャッシュの 2 つのキャッシュを採用しています。Kubernetes の
メモリ内キャッシュは、レンダリング プロセスの存続期間に付加されます。これはほぼ 1 つのタブに相当します。
メモリ内キャッシュから応答されたリクエストは、ウェブ リクエスト API に表示されません。もし
リクエスト ハンドラがその動作を変更する(たとえば、リクエストが
ブロックされている場合)は、単純なページ更新では、この変更が反映されないことがあります。動作が確実に
完了したら、handlerBehaviorChanged()
を呼び出してメモリ内キャッシュをフラッシュします。しかし、すべきでないこと
しばしばあります。キャッシュのフラッシュは非常に負荷の高いオペレーションですお客様ご自身で
イベント リスナーの登録または登録解除後の handlerBehaviorChanged()
。
タイムスタンプ
ウェブ リクエスト イベントの timestamp
プロパティは、内部整合性のみが保証されます。
あるイベントと別のイベントを比較すると、それらの間の正確なオフセットが得られますが、
拡張機能内の現在の時刻に変更することもできます((new Date()).getTime()
など)。
想定外の結果になることもあります
エラー処理
無効な引数を指定してイベントを登録しようとすると、JavaScript エラーがスローされ、 イベント ハンドラは登録されません。イベントの処理中にエラーがスローされる場合、または イベント ハンドラが無効なブロック レスポンスを返すと、エラー メッセージが拡張機能の その要求ではハンドラは無視されます。
例
次の例は、www.evil.com
へのすべてのリクエストをブロックする方法を示しています。
chrome.webRequest.onBeforeRequest.addListener(
function(details) {
return {cancel: details.url.indexOf("://www.evil.com/") != -1};
},
{urls: ["<all_urls>"]},
["blocking"]
);
この関数はブロッキング イベント ハンドラを使用するため、"webRequest"
と
マニフェスト ファイル内の "webRequestBlocking"
権限。
次の例では、同じ目標を、より効率的な方法で達成します。これは、一致していないリクエストが
www.evil.com
をターゲットとしているものは、拡張機能に渡す必要はありません。
chrome.webRequest.onBeforeRequest.addListener(
function(details) { return {cancel: true}; },
{urls: ["*://www.evil.com/*"]},
["blocking"]
);
次の例は、すべてのリクエストから User-Agent ヘッダーを削除する方法を示しています。
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"]
);
chrome.webRequest
API を試すには、
chrome-extension-samples から webRequest サンプルをインストールする
できます。
型
BlockingResponse
「blocking」関数を持つイベント ハンドラの値を返します。extraInfoSpec が適用されます。イベント ハンドラがネットワーク リクエストを変更できるようにします。
プロパティ
-
authCredentials
オブジェクト(省略可)
onAuthRequired イベントへのレスポンスとしてのみ使用されます。設定すると、指定された認証情報を使用してリクエストが実行されます。
-
パスワード
文字列
-
ユーザー名
文字列
-
-
キャンセル
ブール値(省略可)
true の場合、リクエストはキャンセルされます。これにより、リクエストは送信されなくなります。これは、onBeforeRequest、onBeforeSendHeaders、onHeadersReceived、onAuthRequired イベントへのレスポンスとして使用できます。
-
redirectUrl
文字列(省略可)
onBeforeRequest イベントと onHeadersReceived イベントへのレスポンスとしてのみ使用されます。設定すると、元のリクエストは送信または完了されず、指定された URL にリダイレクトされます。
data:
などの HTTP 以外のスキームへのリダイレクトは許可されます。リダイレクト アクションによって開始されたリダイレクトは、リダイレクトに元のリクエスト メソッドを使用しますが、例外として、リダイレクトが onHeadersReceived ステージで開始されている場合、リダイレクトは GET メソッドを使用して発行されます。ws://
スキームやwss://
スキームを使用する URL からのリダイレクトは無視されます。 -
requestHeaders
HttpHeaders(オプション)
onBeforeSendHeaders イベントへのレスポンスとしてのみ使用されます。設定すると、代わりにこれらのリクエスト ヘッダーを使用してリクエストが実行されます。
-
responseHeaders
HttpHeaders(オプション)
onHeadersReceived イベントへのレスポンスとしてのみ使用されます。設定されている場合、サーバーは代わりにこれらのレスポンス ヘッダーで応答したとみなされます。競合の数を制限するためにヘッダーを本当に変更する必要がある場合にのみ、
responseHeaders
を返します(リクエストごとにresponseHeaders
を変更できる拡張機能は 1 つだけです)。
FormDataItem
フォームデータ内で渡されたデータが含まれています。URL エンコードされた形式では、データが utf-8 文字列の場合は string として格納され、それ以外の場合は ArrayBuffer として格納されます。フォームデータの場合は ArrayBuffer です。form-data がアップロードするファイルを表す場合、ファイル名が指定されていれば、それはファイル名を含む文字列です。
列挙型
ArrayBuffer
文字列
HttpHeaders
HTTP ヘッダーの配列。各ヘッダーは、キー name
と value
または binaryValue
のいずれかを含む辞書として表されます。
タイプ
object[]
プロパティ
-
binaryValue
数値 [] 省略可
UTF-8 で表現できない場合の HTTP ヘッダーの値。個別のバイト値(0 ~ 255)として保存されます。
-
name
文字列
HTTP ヘッダーの名前。
-
値
文字列(省略可)
UTF-8 で表すことができる HTTP ヘッダーの値。
IgnoredActionType
列挙型
「redirect」
"request_headers"
"response_headers"
"auth_credentials"
OnAuthRequiredOptions
列挙型
"responseHeaders"
レスポンス ヘッダーをイベントに含めることを指定します。
"blocking"
コールバック関数が戻るまでリクエストがブロックされることを指定します。
"asyncBlocking"
コールバック関数が非同期で処理されることを指定します。
"extraHeaders"
ヘッダーがクロスオリジン リソース シェアリング(CORS)に違反する可能性があることを示します。
OnBeforeRedirectOptions
列挙型
"responseHeaders"
レスポンス ヘッダーをイベントに含めることを指定します。
"extraHeaders"
ヘッダーがクロスオリジン リソース シェアリング(CORS)に違反する可能性があることを示します。
OnBeforeRequestOptions
列挙型
"blocking"
コールバック関数が戻るまでリクエストがブロックされることを指定します。
"requestBody"
リクエスト本文をイベントに含めることを指定します。
"extraHeaders"
ヘッダーがクロスオリジン リソース シェアリング(CORS)に違反する可能性があることを示します。
OnBeforeSendHeadersOptions
列挙型
"requestHeaders"
リクエスト ヘッダーをイベントに含めることを指定します。
"blocking"
コールバック関数が戻るまでリクエストがブロックされることを指定します。
"extraHeaders"
ヘッダーがクロスオリジン リソース シェアリング(CORS)に違反する可能性があることを示します。
OnCompletedOptions
列挙型
"responseHeaders"
レスポンス ヘッダーをイベントに含めることを指定します。
"extraHeaders"
ヘッダーがクロスオリジン リソース シェアリング(CORS)に違反する可能性があることを示します。
OnErrorOccurredOptions
値
"extraHeaders"
OnHeadersReceivedOptions
列挙型
"blocking"
コールバック関数が戻るまでリクエストがブロックされることを指定します。
"responseHeaders"
レスポンス ヘッダーをイベントに含めることを指定します。
"extraHeaders"
ヘッダーがクロスオリジン リソース シェアリング(CORS)に違反する可能性があることを示します。
OnResponseStartedOptions
列挙型
"responseHeaders"
レスポンス ヘッダーをイベントに含めることを指定します。
"extraHeaders"
ヘッダーがクロスオリジン リソース シェアリング(CORS)に違反する可能性があることを示します。
OnSendHeadersOptions
列挙型
"requestHeaders"
リクエスト ヘッダーをイベントに含めるように指定します。
"extraHeaders"
ヘッダーがクロスオリジン リソース シェアリング(CORS)に違反する可能性があることを示します。
RequestFilter
webRequest イベントに適用するフィルタを記述するオブジェクト。
プロパティ
-
tabId
数値(省略可)
-
タイプ
ResourceType[] 省略可
リクエスト タイプのリスト。どのタイプにも一致しないリクエストは除外されます。
-
URL
string[]
URL または URL パターンのリスト。どの URL にも一致しないリクエストは除外されます。
-
windowId
数値(省略可)
ResourceType
列挙型
"main_frame"
リソースをメインフレームとして指定します。
"sub_frame"
リソースをサブフレームとして指定します。
"stylesheet"
リソースをスタイルシートとして指定します。
"script"
リソースをスクリプトとして指定します。
"image"
リソースを画像として指定します。
"font"
リソースをフォントとして指定します。
"object"
リソースをオブジェクトとして指定します。
"xmlhttprequest"
リソースを XMLHttpRequest として指定します。
"ping"
リソースを ping として指定します。
"csp_report"
リソースをコンテンツ セキュリティ ポリシー(CSP)レポートとして指定します。
"media"
リソースをメディア オブジェクトとして指定します。
"websocket"
リソースを WebSocket として指定します。
"webbundle"
リソースを WebBundle として指定します。
"other"
リストされているタイプに含まれていないタイプとしてリソースを指定します。
UploadData
URL リクエストでアップロードされたデータが含まれます。
プロパティ
-
バイト
任意
データのコピーを含む ArrayBuffer。
-
あなた宛てに表示されます。
文字列(省略可)
ファイルのパスと名前を含む文字列。
プロパティ
MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES
10 分間の継続間隔ごとに handlerBehaviorChanged
を呼び出せる最大回数。handlerBehaviorChanged
は負荷の高い関数呼び出しであり、頻繁に呼び出すべきではありません。
値
20
メソッド
handlerBehaviorChanged()
chrome.webRequest.handlerBehaviorChanged(
callback?: function,
)
キャッシュによる誤った処理を防ぐために、webRequest ハンドラの動作が変更されたときに呼び出す必要があります。この関数呼び出しはコストがかかります。頻繁には呼び出さないでください。
パラメータ
-
callback
関数(省略可)
callback
パラメータは次のようになります。() => void
戻り値
-
約束 <void>
Chrome 116 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
イベント
onActionIgnored
chrome.webRequest.onActionIgnored.addListener(
callback: function,
)
拡張機能がネットワーク リクエストに対して提案した変更が無視されたときに呼び出されます。これは、他の拡張機能と競合する場合に発生します。
パラメータ
-
callback
関数
callback
パラメータは次のようになります。(details: object) => void
-
詳細
オブジェクト
-
アクション
無視された操作候補。
-
requestId
文字列
リクエストの ID。リクエスト ID はブラウザ セッション内で一意です。その結果、同じリクエストの異なるイベントを関連付けるために使用される可能性があります。
-
-
onAuthRequired
chrome.webRequest.onAuthRequired.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnAuthRequiredOptions[],
)
認証失敗を受信すると呼び出されます。リスナーには、認証情報を提供する、リクエストをキャンセルしてエラーページを表示する、チャレンジに対してアクションを実行しない、という 3 つのオプションがあります。不正なユーザー認証情報が提供された場合、同じリクエストに対してこれが複数回呼び出されることがあります。extraInfoSpec
パラメータには、'blocking'
モードまたは 'asyncBlocking'
モードのいずれか 1 つのみを指定する必要があります。
パラメータ
-
callback
関数
callback
パラメータは次のようになります。(details: object, asyncCallback?: function) => BlockingResponse | undefined
-
詳細
オブジェクト
-
チャレンジャー
オブジェクト
認証を要求しているサーバー。
-
ホスト
文字列
-
ポート
数値
-
-
documentId
文字列
Chrome 106 以降リクエストを行っているドキュメントの UUID。
-
documentLifecycleChrome 106 以降
ドキュメントのライフサイクル。
-
frameId
数値
値 0 は、リクエストがメインフレーム内で発生することを示します。正の値はリクエストが発生するサブフレームの ID を示します。(サブ)フレームのドキュメントが読み込まれた場合(
type
がmain_frame
またはsub_frame
の場合)、frameId
はそのフレームの ID を示します(外側のフレームの ID ではありません)。フレーム ID はタブ内で一意です。 -
frameTypeChrome 106 以降
リクエストが発生したフレームのタイプ。
-
イニシエータ
文字列(省略可)
Chrome 63 以降リクエストが開始されたオリジン。これはリダイレクトによって変わりません。不透明なオリジンの場合、文字列「null」は使用されます。
-
isProxy
ブール値
プロキシ認証の場合は true、WWW-Authenticate の場合は false です。
-
method
文字列
標準の HTTP メソッド。
-
parentDocumentId
文字列(省略可)
Chrome 106 以降このフレームを所有する親ドキュメントの UUID。親が存在しない場合は設定されません。
-
parentFrameId
数値
リクエストを送信したフレームをラップするフレームの ID。親フレームが存在しない場合は -1 に設定します。
-
レルム
文字列(省略可)
サーバーによって提供される認証領域(存在する場合)。
-
requestId
文字列
リクエストの ID。リクエスト ID はブラウザ セッション内で一意です。その結果、同じリクエストの異なるイベントを関連付けるために使用される可能性があります。
-
responseHeaders
HttpHeaders(オプション)
このレスポンスとともに受信した HTTP レスポンス ヘッダー。
-
スキーム
文字列
認証スキーム。例:Basic または Digest。
-
statusCode
数値
Chrome 43 以降サーバーから返される標準の HTTP ステータス コード。
-
statusLine
文字列
レスポンスの HTTP ステータス行または「HTTP/0.9 200 OK」HTTP/0.9 レスポンス(ステータス行のないレスポンス)の場合は文字列、ヘッダーがない場合は空の文字列。
-
tabId
数値
リクエストが行われるタブの ID。リクエストがタブに関連していない場合は、-1 に設定します。
-
timeStamp
数値
このシグナルがトリガーされた時間(エポックからのミリ秒)。
-
type
リクエストされたリソースの使用方法。
-
URL
文字列
-
-
asyncCallback
関数(省略可)
Chrome 58 以降asyncCallback
パラメータは次のようになります。(response: BlockingResponse) => void
-
レスポンス
-
-
戻り値
BlockingResponse |未定義
「ブロック中」の場合「extraInfoSpec」で指定パラメータを使用すると、イベント リスナーはこの型のオブジェクトを返す必要があります。
-
-
フィルタ
-
extraInfoSpec
OnAuthRequiredOptions[] 省略可
onBeforeRedirect
chrome.webRequest.onBeforeRedirect.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnBeforeRedirectOptions[],
)
サーバー開始型のリダイレクト発生時に呼び出されます。
パラメータ
-
callback
関数
callback
パラメータは次のようになります。(details: object) => void
-
詳細
オブジェクト
-
documentId
文字列
Chrome 106 以降リクエストを行っているドキュメントの UUID。
-
documentLifecycleChrome 106 以降
ドキュメントのライフサイクル。
-
frameId
数値
値 0 は、リクエストがメインフレーム内で発生することを示します。正の値はリクエストが発生するサブフレームの ID を示します。(サブ)フレームのドキュメントが読み込まれた場合(
type
がmain_frame
またはsub_frame
の場合)、frameId
はそのフレームの ID を示します(外側のフレームの ID ではありません)。フレーム ID はタブ内で一意です。 -
frameTypeChrome 106 以降
リクエストが発生したフレームのタイプ。
-
fromCache
ブール値
このレスポンスがディスク キャッシュから取得されたかどうかを示します。
-
イニシエータ
文字列(省略可)
Chrome 63 以降リクエストが開始されたオリジン。これはリダイレクトによって変わりません。不透明なオリジンの場合、文字列「null」は使用されます。
-
ip
文字列(省略可)
リクエストが実際に送信されたサーバーの IP アドレス。リテラル IPv6 アドレスの場合もあります。
-
method
文字列
標準の HTTP メソッド。
-
parentDocumentId
文字列(省略可)
Chrome 106 以降このフレームを所有する親ドキュメントの UUID。親が存在しない場合は設定されません。
-
parentFrameId
数値
リクエストを送信したフレームをラップするフレームの ID。親フレームが存在しない場合は -1 に設定します。
-
redirectUrl
文字列
新しい URL。
-
requestId
文字列
リクエストの ID。リクエスト ID はブラウザ セッション内で一意です。その結果、同じリクエストの異なるイベントを関連付けるために使用される可能性があります。
-
responseHeaders
HttpHeaders(オプション)
このリダイレクトとともに受信した HTTP レスポンス ヘッダー。
-
statusCode
数値
サーバーから返される標準の HTTP ステータス コード。
-
statusLine
文字列
レスポンスの HTTP ステータス行または「HTTP/0.9 200 OK」HTTP/0.9 レスポンス(ステータス行のないレスポンス)の場合は文字列、ヘッダーがない場合は空の文字列。
-
tabId
数値
リクエストが行われるタブの ID。リクエストがタブに関連していない場合は、-1 に設定します。
-
timeStamp
数値
このシグナルがトリガーされた時間(エポックからのミリ秒)。
-
type
リクエストされたリソースの使用方法。
-
URL
文字列
-
-
-
フィルタ
-
extraInfoSpec
OnBeforeRedirectOptions[] 省略可
onBeforeRequest
chrome.webRequest.onBeforeRequest.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnBeforeRequestOptions[],
)
リクエストの発生時に呼び出されます。
パラメータ
-
callback
関数
callback
パラメータは次のようになります。(details: object) => BlockingResponse | undefined
-
詳細
オブジェクト
-
documentId
文字列(省略可)
Chrome 106 以降リクエストを行っているドキュメントの UUID。
-
documentLifecycle
extensionTypes.DocumentLifecycle optional
Chrome 106 以降ドキュメントのライフサイクル。
-
frameId
数値
値 0 は、リクエストがメインフレーム内で発生することを示します。正の値はリクエストが発生するサブフレームの ID を示します。(サブ)フレームのドキュメントが読み込まれた場合(
type
がmain_frame
またはsub_frame
の場合)、frameId
はそのフレームの ID を示します(外側のフレームの ID ではありません)。フレーム ID はタブ内で一意です。 -
frameType
extensionTypes.FrameType optional
Chrome 106 以降リクエストが発生したフレームのタイプ。
-
イニシエータ
文字列(省略可)
Chrome 63 以降リクエストが開始されたオリジン。これはリダイレクトによって変わりません。不透明なオリジンの場合、文字列「null」は使用されます。
-
method
文字列
標準の HTTP メソッド。
-
parentDocumentId
文字列(省略可)
Chrome 106 以降このフレームを所有する親ドキュメントの UUID。親が存在しない場合は設定されません。
-
parentFrameId
数値
リクエストを送信したフレームをラップするフレームの ID。親フレームが存在しない場合は -1 に設定します。
-
requestBody
オブジェクト(省略可)
HTTP リクエスト本文のデータが含まれます。extraInfoSpec に「requestBody」が含まれている場合にのみ提供されます。
-
エラー
文字列(省略可)
リクエスト本文データの取得時のエラー。
-
formData
オブジェクト(省略可)
リクエスト メソッドが POST で、本文が UTF8 でエンコードされ、multipart/form-data または application/x-www-form-urlencoded としてエンコードされた Key-Value ペアのシーケンスである場合、このディクショナリが存在し、各キーにそのキーのすべての値のリストが含まれます。データが他のメディアタイプの場合、または不正な形式の場合、ディクショナリは存在しません。このディクショナリの値の例は {'key': ['value1', 'value2']} です。
-
raw
UploadData[](省略可)
リクエスト メソッドが PUT または POST で、body が formData でまだ解析されていない場合、未解析のリクエスト ボディ要素はこの配列に含まれます。
-
-
requestId
文字列
リクエストの ID。リクエスト ID はブラウザ セッション内で一意です。その結果、同じリクエストの異なるイベントを関連付けるために使用される可能性があります。
-
tabId
数値
リクエストが行われるタブの ID。リクエストがタブに関連していない場合は、-1 に設定します。
-
timeStamp
数値
このシグナルがトリガーされた時間(エポックからのミリ秒)。
-
type
リクエストされたリソースの使用方法。
-
URL
文字列
-
-
戻り値
BlockingResponse |未定義
「ブロック中」の場合「extraInfoSpec」で指定パラメータを使用すると、イベント リスナーはこの型のオブジェクトを返す必要があります。
-
-
フィルタ
-
extraInfoSpec
OnBeforeRequestOptions[] 省略可
onBeforeSendHeaders
chrome.webRequest.onBeforeSendHeaders.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnBeforeSendHeadersOptions[],
)
リクエスト ヘッダーが利用可能になると、HTTP リクエストの送信前に呼び出されます。これは、サーバーへの TCP 接続が確立された後、HTTP データが送信される前に発生する場合があります。
パラメータ
-
callback
関数
callback
パラメータは次のようになります。(details: object) => BlockingResponse | undefined
-
詳細
オブジェクト
-
documentId
文字列
Chrome 106 以降リクエストを行っているドキュメントの UUID。
-
documentLifecycleChrome 106 以降
ドキュメントのライフサイクル。
-
frameId
数値
値 0 は、リクエストがメインフレーム内で発生することを示します。正の値はリクエストが発生するサブフレームの ID を示します。(サブ)フレームのドキュメントが読み込まれた場合(
type
がmain_frame
またはsub_frame
の場合)、frameId
はそのフレームの ID を示します(外側のフレームの ID ではありません)。フレーム ID はタブ内で一意です。 -
frameTypeChrome 106 以降
リクエストが発生したフレームのタイプ。
-
イニシエータ
文字列(省略可)
Chrome 63 以降リクエストが開始されたオリジン。これはリダイレクトによって変わりません。不透明なオリジンの場合、文字列「null」は使用されます。
-
method
文字列
標準の HTTP メソッド。
-
parentDocumentId
文字列(省略可)
Chrome 106 以降このフレームを所有する親ドキュメントの UUID。親が存在しない場合は設定されません。
-
parentFrameId
数値
リクエストを送信したフレームをラップするフレームの ID。親フレームが存在しない場合は -1 に設定します。
-
requestHeaders
HttpHeaders(オプション)
このリクエストとともに送信される HTTP リクエスト ヘッダー。
-
requestId
文字列
リクエストの ID。リクエスト ID はブラウザ セッション内で一意です。その結果、同じリクエストの異なるイベントを関連付けるために使用される可能性があります。
-
tabId
数値
リクエストが行われるタブの ID。リクエストがタブに関連していない場合は、-1 に設定します。
-
timeStamp
数値
このシグナルがトリガーされた時間(エポックからのミリ秒)。
-
type
リクエストされたリソースの使用方法。
-
URL
文字列
-
-
戻り値
BlockingResponse |未定義
「ブロック中」の場合「extraInfoSpec」で指定パラメータを使用すると、イベント リスナーはこの型のオブジェクトを返す必要があります。
-
-
フィルタ
-
extraInfoSpec
onCompleted
chrome.webRequest.onCompleted.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnCompletedOptions[],
)
リクエストが完了すると呼び出されます。
パラメータ
-
callback
関数
callback
パラメータは次のようになります。(details: object) => void
-
詳細
オブジェクト
-
documentId
文字列
Chrome 106 以降リクエストを行っているドキュメントの UUID。
-
documentLifecycleChrome 106 以降
ドキュメントのライフサイクル。
-
frameId
数値
値 0 は、リクエストがメインフレーム内で発生することを示します。正の値はリクエストが発生するサブフレームの ID を示します。(サブ)フレームのドキュメントが読み込まれた場合(
type
がmain_frame
またはsub_frame
の場合)、frameId
はそのフレームの ID を示します(外側のフレームの ID ではありません)。フレーム ID はタブ内で一意です。 -
frameTypeChrome 106 以降
リクエストが発生したフレームのタイプ。
-
fromCache
ブール値
このレスポンスがディスク キャッシュから取得されたかどうかを示します。
-
イニシエータ
文字列(省略可)
Chrome 63 以降リクエストが開始されたオリジン。これはリダイレクトによって変わりません。不透明なオリジンの場合、文字列「null」は使用されます。
-
ip
文字列(省略可)
リクエストが実際に送信されたサーバーの IP アドレス。リテラル IPv6 アドレスの場合もあります。
-
method
文字列
標準の HTTP メソッド。
-
parentDocumentId
文字列(省略可)
Chrome 106 以降このフレームを所有する親ドキュメントの UUID。親が存在しない場合は設定されません。
-
parentFrameId
数値
リクエストを送信したフレームをラップするフレームの ID。親フレームが存在しない場合は -1 に設定します。
-
requestId
文字列
リクエストの ID。リクエスト ID はブラウザ セッション内で一意です。その結果、同じリクエストの異なるイベントを関連付けるために使用される可能性があります。
-
responseHeaders
HttpHeaders(オプション)
このレスポンスとともに受信した HTTP レスポンス ヘッダー。
-
statusCode
数値
サーバーから返される標準の HTTP ステータス コード。
-
statusLine
文字列
レスポンスの HTTP ステータス行または「HTTP/0.9 200 OK」HTTP/0.9 レスポンス(ステータス行のないレスポンス)の場合は文字列、ヘッダーがない場合は空の文字列。
-
tabId
数値
リクエストが行われるタブの ID。リクエストがタブに関連していない場合は、-1 に設定します。
-
timeStamp
数値
このシグナルがトリガーされた時間(エポックからのミリ秒)。
-
type
リクエストされたリソースの使用方法。
-
URL
文字列
-
-
-
フィルタ
-
extraInfoSpec
OnCompletedOptions[] 省略可
onErrorOccurred
chrome.webRequest.onErrorOccurred.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnErrorOccurredOptions[],
)
エラーが発生すると呼び出されます。
パラメータ
-
callback
関数
callback
パラメータは次のようになります。(details: object) => void
-
詳細
オブジェクト
-
documentId
文字列
Chrome 106 以降リクエストを行っているドキュメントの UUID。リクエストがフレームのナビゲーションの場合、この値は存在しません。
-
documentLifecycleChrome 106 以降
ドキュメントのライフサイクル。
-
エラー
文字列
エラーの説明。この文字列は、リリース間での下位互換性が維持される保証はありません。データを解析し、その内容に基づいて対応することはできません。
-
frameId
数値
値 0 は、リクエストがメインフレーム内で発生することを示します。正の値はリクエストが発生するサブフレームの ID を示します。(サブ)フレームのドキュメントが読み込まれた場合(
type
がmain_frame
またはsub_frame
の場合)、frameId
はそのフレームの ID を示します(外側のフレームの ID ではありません)。フレーム ID はタブ内で一意です。 -
frameTypeChrome 106 以降
リクエストが発生したフレームのタイプ。
-
fromCache
ブール値
このレスポンスがディスク キャッシュから取得されたかどうかを示します。
-
イニシエータ
文字列(省略可)
Chrome 63 以降リクエストが開始されたオリジン。これはリダイレクトによって変わりません。不透明なオリジンの場合、文字列「null」は使用されます。
-
ip
文字列(省略可)
リクエストが実際に送信されたサーバーの IP アドレス。リテラル IPv6 アドレスの場合もあります。
-
method
文字列
標準の HTTP メソッド。
-
parentDocumentId
文字列(省略可)
Chrome 106 以降このフレームを所有する親ドキュメントの UUID。親が存在しない場合は設定されません。
-
parentFrameId
数値
リクエストを送信したフレームをラップするフレームの ID。親フレームが存在しない場合は -1 に設定します。
-
requestId
文字列
リクエストの ID。リクエスト ID はブラウザ セッション内で一意です。その結果、同じリクエストの異なるイベントを関連付けるために使用される可能性があります。
-
tabId
数値
リクエストが行われるタブの ID。リクエストがタブに関連していない場合は、-1 に設定します。
-
timeStamp
数値
このシグナルがトリガーされた時間(エポックからのミリ秒)。
-
type
リクエストされたリソースの使用方法。
-
URL
文字列
-
-
-
フィルタ
-
extraInfoSpec
OnErrorOccurredOptions[] 省略可
onHeadersReceived
chrome.webRequest.onHeadersReceived.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnHeadersReceivedOptions[],
)
リクエストの HTTP レスポンス ヘッダーが受信されたときに呼び出されます。
パラメータ
-
callback
関数
callback
パラメータは次のようになります。(details: object) => BlockingResponse | undefined
-
詳細
オブジェクト
-
documentId
文字列
Chrome 106 以降リクエストを行っているドキュメントの UUID。
-
documentLifecycleChrome 106 以降
ドキュメントのライフサイクル。
-
frameId
数値
値 0 は、リクエストがメインフレーム内で発生することを示します。正の値はリクエストが発生するサブフレームの ID を示します。(サブ)フレームのドキュメントが読み込まれた場合(
type
がmain_frame
またはsub_frame
の場合)、frameId
はそのフレームの ID を示します(外側のフレームの ID ではありません)。フレーム ID はタブ内で一意です。 -
frameTypeChrome 106 以降
リクエストが発生したフレームのタイプ。
-
イニシエータ
文字列(省略可)
Chrome 63 以降リクエストが開始されたオリジン。これはリダイレクトによって変わりません。不透明なオリジンの場合、文字列「null」は使用されます。
-
method
文字列
標準の HTTP メソッド。
-
parentDocumentId
文字列(省略可)
Chrome 106 以降このフレームを所有する親ドキュメントの UUID。親が存在しない場合は設定されません。
-
parentFrameId
数値
リクエストを送信したフレームをラップするフレームの ID。親フレームが存在しない場合は -1 に設定します。
-
requestId
文字列
リクエストの ID。リクエスト ID はブラウザ セッション内で一意です。その結果、同じリクエストの異なるイベントを関連付けるために使用される可能性があります。
-
responseHeaders
HttpHeaders(オプション)
このレスポンスとともに受信した HTTP レスポンス ヘッダー。
-
statusCode
数値
Chrome 43 以降サーバーから返される標準の HTTP ステータス コード。
-
statusLine
文字列
レスポンスの HTTP ステータス行または「HTTP/0.9 200 OK」HTTP/0.9 レスポンス(ステータス行のないレスポンス)用の文字列です。
-
tabId
数値
リクエストが行われるタブの ID。リクエストがタブに関連していない場合は、-1 に設定します。
-
timeStamp
数値
このシグナルがトリガーされた時間(エポックからのミリ秒)。
-
type
リクエストされたリソースの使用方法。
-
URL
文字列
-
-
戻り値
BlockingResponse |未定義
「ブロック中」の場合「extraInfoSpec」で指定パラメータを使用すると、イベント リスナーはこの型のオブジェクトを返す必要があります。
-
-
フィルタ
-
extraInfoSpec
OnHeadersReceivedOptions[] 省略可
onResponseStarted
chrome.webRequest.onResponseStarted.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnResponseStartedOptions[],
)
レスポンス本文の最初のバイトが受信されたときに呼び出されます。これは、HTTP リクエストの場合、ステータス行とレスポンス ヘッダーを使用できることを意味します。
パラメータ
-
callback
関数
callback
パラメータは次のようになります。(details: object) => void
-
詳細
オブジェクト
-
documentId
文字列
Chrome 106 以降リクエストを行っているドキュメントの UUID。
-
documentLifecycleChrome 106 以降
ドキュメントのライフサイクル。
-
frameId
数値
値 0 は、リクエストがメインフレーム内で発生することを示します。正の値はリクエストが発生するサブフレームの ID を示します。(サブ)フレームのドキュメントが読み込まれた場合(
type
がmain_frame
またはsub_frame
の場合)、frameId
はそのフレームの ID を示します(外側のフレームの ID ではありません)。フレーム ID はタブ内で一意です。 -
frameTypeChrome 106 以降
リクエストが発生したフレームのタイプ。
-
fromCache
ブール値
このレスポンスがディスク キャッシュから取得されたかどうかを示します。
-
イニシエータ
文字列(省略可)
Chrome 63 以降リクエストが開始されたオリジン。これはリダイレクトによって変わりません。不透明なオリジンの場合、文字列「null」は使用されます。
-
ip
文字列(省略可)
リクエストが実際に送信されたサーバーの IP アドレス。リテラル IPv6 アドレスの場合もあります。
-
method
文字列
標準の HTTP メソッド。
-
parentDocumentId
文字列(省略可)
Chrome 106 以降このフレームを所有する親ドキュメントの UUID。親が存在しない場合は設定されません。
-
parentFrameId
数値
リクエストを送信したフレームをラップするフレームの ID。親フレームが存在しない場合は -1 に設定します。
-
requestId
文字列
リクエストの ID。リクエスト ID はブラウザ セッション内で一意です。その結果、同じリクエストの異なるイベントを関連付けるために使用される可能性があります。
-
responseHeaders
HttpHeaders(オプション)
このレスポンスとともに受信した HTTP レスポンス ヘッダー。
-
statusCode
数値
サーバーから返される標準の HTTP ステータス コード。
-
statusLine
文字列
レスポンスの HTTP ステータス行または「HTTP/0.9 200 OK」HTTP/0.9 レスポンス(ステータス行のないレスポンス)の場合は文字列、ヘッダーがない場合は空の文字列。
-
tabId
数値
リクエストが行われるタブの ID。リクエストがタブに関連していない場合は、-1 に設定します。
-
timeStamp
数値
このシグナルがトリガーされた時間(エポックからのミリ秒)。
-
type
リクエストされたリソースの使用方法。
-
URL
文字列
-
-
-
フィルタ
-
extraInfoSpec
OnResponseStartedOptions[] 省略可
onSendHeaders
chrome.webRequest.onSendHeaders.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnSendHeadersOptions[],
)
リクエストがサーバーに送信される直前に呼び出されます(以前の onBeforeSendHeaders コールバックの変更は、onSendHeaders が呼び出される時点で確認できます)。
パラメータ
-
callback
関数
callback
パラメータは次のようになります。(details: object) => void
-
詳細
オブジェクト
-
documentId
文字列
Chrome 106 以降リクエストを行っているドキュメントの UUID。
-
documentLifecycleChrome 106 以降
ドキュメントのライフサイクル。
-
frameId
数値
値 0 は、リクエストがメインフレーム内で発生することを示します。正の値はリクエストが発生するサブフレームの ID を示します。(サブ)フレームのドキュメントが読み込まれた場合(
type
がmain_frame
またはsub_frame
の場合)、frameId
はそのフレームの ID を示します(外側のフレームの ID ではありません)。フレーム ID はタブ内で一意です。 -
frameTypeChrome 106 以降
リクエストが発生したフレームのタイプ。
-
イニシエータ
文字列(省略可)
Chrome 63 以降リクエストが開始されたオリジン。これはリダイレクトによって変わりません。不透明なオリジンの場合、文字列「null」は使用されます。
-
method
文字列
標準の HTTP メソッド。
-
parentDocumentId
文字列(省略可)
Chrome 106 以降このフレームを所有する親ドキュメントの UUID。親が存在しない場合は設定されません。
-
parentFrameId
数値
リクエストを送信したフレームをラップするフレームの ID。親フレームが存在しない場合は -1 に設定します。
-
requestHeaders
HttpHeaders(オプション)
このリクエストとともに送信された HTTP リクエスト ヘッダー。
-
requestId
文字列
リクエストの ID。リクエスト ID はブラウザ セッション内で一意です。その結果、同じリクエストの異なるイベントを関連付けるために使用される可能性があります。
-
tabId
数値
リクエストが行われるタブの ID。リクエストがタブに関連していない場合は、-1 に設定します。
-
timeStamp
数値
このシグナルがトリガーされた時間(エポックからのミリ秒)。
-
type
リクエストされたリソースの使用方法。
-
URL
文字列
-
-
-
フィルタ
-
extraInfoSpec
OnSendHeadersOptions[] 省略可