Deskripsi
Gunakan chrome.webRequest API untuk mengamati dan menganalisis traffic serta mencegat, memblokir, atau mengubah permintaan saat dalam proses.
Izin
webRequestManifes
Anda harus menyatakan izin "webRequest" dalam manifes ekstensi untuk menggunakan API permintaan web, beserta izin host yang diperlukan. Untuk mencegat permintaan sub-resource, ekstensi harus memiliki akses ke URL yang diminta dan inisiasinya. Contoh:
{
  "name": "My extension",
  ...
  "permissions": [
    "webRequest"
  ],
  "host_permissions": [
    "*://*.google.com/*"
  ],
  ...
}
Mulai Chrome 108, Anda dapat menyediakan kredensial secara asinkron untuk peristiwa onAuthRequired jika Anda menggunakan izin "webRequest" dan "webRequestAuthProvider".
Siklus proses permintaan
Web Request API menentukan serangkaian peristiwa yang mengikuti siklus proses permintaan web. Anda dapat menggunakan peristiwa ini untuk mengamati dan menganalisis traffic. Peristiwa sinkron tertentu akan memungkinkan Anda mencegat, memblokir, atau mengubah permintaan.
Siklus proses peristiwa untuk permintaan yang berhasil diilustrasikan di sini, diikuti dengan definisi peristiwa:

- onBeforeRequest(dapat disinkronkan)
- Diaktifkan saat permintaan akan terjadi. Peristiwa ini dikirim sebelum koneksi TCP dibuat dan dapat digunakan untuk membatalkan atau mengalihkan permintaan.
- onBeforeSendHeaders(dapat disinkronkan)
- Diaktifkan saat permintaan akan terjadi dan header awal telah disiapkan. Peristiwa ini dimaksudkan untuk memungkinkan ekstensi menambahkan, mengubah, dan menghapus header permintaan (*). Peristiwa
onBeforeSendHeadersditeruskan ke semua pelanggan, sehingga pelanggan yang berbeda dapat mencoba mengubah permintaan; lihat bagian Detail penerapan untuk mengetahui cara penanganannya. Peristiwa ini dapat digunakan untuk membatalkan permintaan.
- onSendHeaders
- Diaktifkan setelah semua ekstensi memiliki kesempatan untuk mengubah header permintaan, dan menampilkan versi (*) akhir. Peristiwa dipicu sebelum header dikirim ke jaringan. Acara ini bersifat informatif dan ditangani secara asinkron. Tidak mengizinkan pengubahan atau pembatalan permintaan.
- onHeadersReceived(dapat disinkronkan)
- Diaktifkan setiap kali header respons HTTP(S) diterima. Karena pengalihan dan permintaan autentikasi, hal ini dapat terjadi beberapa kali per permintaan. Peristiwa ini dimaksudkan untuk memungkinkan ekstensi menambahkan, mengubah, dan menghapus header respons, seperti header Content-Type yang masuk. Petunjuk penyimpanan dalam cache diproses sebelum peristiwa ini dipicu, sehingga mengubah header seperti Cache-Control tidak memengaruhi cache browser. Hal ini juga memungkinkan Anda membatalkan atau mengalihkan permintaan.
- onAuthRequired(dapat disinkronkan)
- Diaktifkan saat permintaan memerlukan autentikasi pengguna. Peristiwa ini dapat ditangani secara sinkron untuk memberikan kredensial autentikasi. Perhatikan bahwa ekstensi dapat memberikan kredensial yang tidak valid. Berhati-hatilah agar tidak memasuki loop tak terbatas dengan berulang kali memberikan kredensial yang tidak valid. ID ini juga dapat digunakan untuk membatalkan permintaan.
- onBeforeRedirect
- Diaktifkan saat pengalihan akan dieksekusi. Pengalihan dapat dipicu oleh kode respons HTTP atau oleh ekstensi. Peristiwa ini bersifat informatif dan ditangani secara asinkron. Anda tidak dapat mengubah atau membatalkan permintaan.
- onResponseStarted
- Diaktifkan saat byte pertama isi respons diterima. Untuk permintaan HTTP, ini berarti bahwa baris status dan header respons tersedia. Peristiwa ini bersifat informatif dan ditangani secara asinkron. Permintaan tidak dapat diubah atau dibatalkan.
- onCompleted
- Dipicu saat permintaan berhasil diproses.
- onErrorOccurred
- Diaktifkan saat permintaan tidak dapat diproses dengan berhasil.
Web Request API menjamin bahwa untuk setiap permintaan, onCompleted atau onErrorOccurred akan diaktifkan sebagai peristiwa akhir dengan satu pengecualian: Jika permintaan dialihkan ke URL data://, onBeforeRedirect adalah peristiwa terakhir yang dilaporkan.
* Perhatikan bahwa API permintaan web menyajikan abstraksi stack jaringan ke ekstensi. Secara internal, satu permintaan URL dapat dibagi menjadi beberapa permintaan HTTP (misalnya, untuk mengambil rentang byte individual dari file besar) atau dapat ditangani oleh stack jaringan tanpa berkomunikasi dengan jaringan. Oleh karena itu, API tidak menyediakan header HTTP akhir yang dikirim ke jaringan. Misalnya, semua header yang terkait dengan caching tidak terlihat oleh ekstensi.
Header berikut saat ini tidak diberikan ke peristiwa onBeforeSendHeaders. Daftar ini tidak dijamin lengkap atau stabil.
- Otorisasi
- Cache-Control
- Koneksi
- Content-Length
- Host
- If-Modified-Since
- If-None-Match
- If-Range
- Data Sebagian (Partial-Data)
- Pragma
- Proxy-Authorization
- Proxy-Connection
- Transfer-Encoding
Mulai Chrome 79, modifikasi header permintaan memengaruhi pemeriksaan Cross-Origin Resource Sharing (CORS). Jika header yang diubah untuk permintaan lintas asal tidak memenuhi kriteria, permintaan tersebut akan menghasilkan
pengiriman preflight CORS untuk menanyakan kepada server apakah header tersebut dapat diterima. Jika Anda benar-benar perlu mengubah header dengan cara yang melanggar protokol CORS, Anda harus menentukan 'extraHeaders' di opt_extraInfoSpec. Di sisi lain, perubahan header respons tidak dapat mengelabui pemeriksaan CORS. Jika Anda perlu menipu protokol CORS, Anda juga perlu menentukan 'extraHeaders' untuk
modifikasi respons.
Mulai Chrome 79, webRequest API tidak mencegat permintaan dan respons preflight CORS secara default. Preflight CORS untuk URL permintaan terlihat oleh ekstensi jika ada
pendengar dengan 'extraHeaders' yang ditentukan dalam opt_extraInfoSpec untuk URL permintaan.
onBeforeRequest juga dapat mengambil 'extraHeaders' dari Chrome 79.
Mulai Chrome 79, header permintaan berikut tidak disediakan dan tidak dapat diubah atau
dihapus tanpa menentukan 'extraHeaders' di opt_extraInfoSpec:
- Asal
Mulai dari Chrome 72, jika Anda perlu mengubah respons sebelum Cross Origin Read Blocking (CORB) dapat memblokir respons, Anda harus menentukan 'extraHeaders' di opt_extraInfoSpec.
Mulai Chrome 72, header permintaan berikut tidak disediakan dan tidak dapat diubah
atau dihapus tanpa menentukan 'extraHeaders' di opt_extraInfoSpec:
- Accept-Language
- Accept-Encoding
- Referer
- Cookie
Mulai Chrome 72, header respons Set-Cookie tidak diberikan dan tidak dapat diubah
atau dihapus tanpa menentukan 'extraHeaders' di opt_extraInfoSpec.
Mulai Chrome 89, header respons X-Frame-Options tidak dapat dimodifikasi
atau dihapus secara efektif tanpa menentukan 'extraHeaders' di opt_extraInfoSpec.
WebRequest API hanya mengekspos permintaan yang izinnya dapat dilihat oleh ekstensi, mengingat izin host-nya. Selain itu, hanya skema berikut yang dapat diakses: http://, https://,
ftp://, file://, ws:// (sejak Chrome 58), wss:// (sejak Chrome 58), urn: (sejak Chrome 91), atau
chrome-extension://. Selain itu, bahkan permintaan tertentu dengan URL yang menggunakan salah satu skema di atas
disembunyikan. Hal ini mencakup chrome-extension://other_extension_id saat other_extension_id bukan
ID ekstensi untuk menangani permintaan, https://www.google.com/chrome, dan permintaan sensitif
lainnya yang merupakan inti dari fungsi browser. Selain itu, XMLHttpRequests sinkron dari ekstensi Anda
disembunyikan dari pengendali peristiwa pemblokiran untuk mencegah kebuntuan. Perhatikan bahwa untuk beberapa skema yang didukung, kumpulan acara yang tersedia mungkin terbatas karena sifat protokol yang sesuai. Misalnya, untuk skema file, hanya onBeforeRequest,
onResponseStarted, onCompleted, dan onErrorOccurred yang dapat dikirim.
Mulai dari Chrome 58, webRequest API mendukung penyadapan permintaan handshake WebSocket. Karena handshake dilakukan melalui permintaan upgrade HTTP, alurnya sesuai dengan model webRequest berorientasi HTTP. Perhatikan bahwa API tidak mencegat:
- Pesan individual yang dikirim melalui koneksi WebSocket yang sudah dibuat.
- WebSocket menutup koneksi.
Pengalihan tidak didukung untuk permintaan WebSocket.
Mulai Chrome 72, ekstensi hanya dapat mencegat permintaan jika memiliki izin host ke URL yang diminta dan inisiator permintaan.
Mulai Chrome 96, webRequest API mendukung pencegatan permintaan handshake WebTransport melalui HTTP/3. Karena handshake dilakukan melalui permintaan HTTP CONNECT, alurnya sesuai dengan model webRequest berorientasi HTTP. Perhatikan bahwa:
- Setelah sesi dibuat, ekstensi tidak dapat mengamati atau mengintervensi sesi melalui WebRequest API.
- Perubahan header permintaan HTTP di onBeforeSendHeadersdiabaikan.
- Pengalihan dan autentikasi tidak didukung di WebTransport melalui HTTP/3.
Konsep
Seperti yang dijelaskan di bagian berikut, peristiwa di web request API menggunakan ID permintaan, dan Anda dapat secara opsional menentukan filter dan informasi tambahan saat mendaftarkan pemroses peristiwa.
ID permintaan
Setiap permintaan diidentifikasi dengan ID permintaan. ID ini bersifat unik dalam sesi browser dan konteks ekstensi. ID ini tetap konstan selama siklus proses permintaan dan dapat digunakan untuk mencocokkan peristiwa untuk permintaan yang sama. Perhatikan bahwa beberapa permintaan HTTP dipetakan ke satu permintaan web dalam kasus pengalihan HTTP atau autentikasi HTTP.
Mendaftarkan pemroses peristiwa
Untuk mendaftarkan pemroses peristiwa untuk permintaan web, Anda menggunakan variasi pada fungsi addListener()
biasa. Selain menentukan fungsi callback, Anda harus menentukan argumen filter, dan Anda dapat menentukan argumen info tambahan opsional.
Tiga argumen untuk addListener() API permintaan web memiliki definisi berikut:
var callback = function(details) {...};
var filter = {...};
var opt_extraInfoSpec = [...];
Berikut adalah contoh mendengarkan peristiwa onBeforeRequest:
chrome.webRequest.onBeforeRequest.addListener(
    callback, filter, opt_extraInfoSpec);
Setiap panggilan addListener() menggunakan fungsi callback wajib sebagai parameter pertama. Fungsi
callback ini meneruskan kamus yang berisi informasi tentang permintaan URL saat ini. Informasi dalam kamus ini bergantung pada jenis peristiwa tertentu serta konten opt_extraInfoSpec.
Jika array opt_extraInfoSpec opsional berisi string 'blocking' (hanya diizinkan untuk
peristiwa tertentu), fungsi callback ditangani secara serentak. Artinya, permintaan
diblokir hingga fungsi callback ditampilkan. Dalam hal ini, callback dapat menampilkan
webRequest.BlockingResponse yang menentukan siklus proses permintaan selanjutnya. Bergantung pada konteksnya, respons ini memungkinkan pembatalan atau pengalihan permintaan (onBeforeRequest),
pembatalan permintaan atau pengubahan header (onBeforeSendHeaders, onHeadersReceived), dan
pembatalan permintaan atau penyediaan kredensial autentikasi (onAuthRequired).
Jika array opt_extraInfoSpec opsional berisi string 'asyncBlocking' (hanya
diizinkan untuk onAuthRequired), ekstensi dapat membuat webRequest.BlockingResponse
secara asinkron.
filter webRequest.RequestFilter memungkinkan pembatasan permintaan untuk peristiwa yang dipicu dalam berbagai dimensi:
- URL
- Pola URL seperti *://www.google.com/foo*bar.
- Jenis
- Jenis permintaan seperti main_frame(dokumen yang dimuat untuk frame tingkat teratas),sub_frame(dokumen yang dimuat untuk frame sematan), danimage(gambar di situs). LihatwebRequest.RequestFilter.
- Tab ID
- ID untuk satu tab.
- ID jendela
- ID untuk jendela.
Bergantung pada jenis peristiwa, Anda dapat menentukan string di opt_extraInfoSpec untuk meminta informasi tambahan tentang permintaan. Objek ini digunakan untuk memberikan informasi mendetail tentang data permintaan hanya jika diminta secara eksplisit.
Detail implementasi
Beberapa detail penerapan penting untuk dipahami saat mengembangkan ekstensi yang menggunakan Web Request API:
web_accessible_resources
Jika ekstensi menggunakan webRequest API untuk mengalihkan permintaan resource publik ke resource yang tidak dapat diakses web, ekstensi tersebut akan diblokir dan akan menyebabkan error. Hal di atas tetap berlaku meskipun resource yang tidak dapat diakses web dimiliki oleh ekstensi pengalihan. Untuk mendeklarasikan resource yang akan digunakan dengan declarativeWebRequest API, array "web_accessible_resources" harus dideklarasikan dan diisi dalam manifes seperti yang didokumentasikan di sini.
Resolusi konflik
Dalam penerapan API permintaan web saat ini, permintaan dianggap dibatalkan jika setidaknya satu ekstensi menginstruksikan untuk membatalkan permintaan. Jika ekstensi membatalkan permintaan, semua
ekstensi akan diberi tahu oleh peristiwa onErrorOccurred. Hanya satu ekstensi yang dapat mengalihkan permintaan atau mengubah header dalam satu waktu. Jika lebih dari satu ekstensi mencoba mengubah permintaan, ekstensi yang baru diinstal akan menang, dan semua ekstensi lainnya akan diabaikan. Ekstensi tidak diberi tahu jika
instruksinya untuk mengubah atau mengalihkan telah diabaikan.
Menyimpan ke cache
Chrome menggunakan dua cache—cache di disk dan cache dalam memori yang sangat cepat. Masa aktif cache dalam memori dikaitkan dengan masa aktif proses rendering, yang kira-kira sesuai dengan tab.
Permintaan yang dijawab dari cache dalam memori tidak terlihat oleh API permintaan web. Jika
handler permintaan mengubah perilakunya (misalnya, perilaku yang digunakan untuk memblokir permintaan), penyegaran halaman sederhana mungkin tidak mematuhi perubahan perilaku ini. Untuk memastikan perubahan perilaku
berhasil diterapkan, panggil handlerBehaviorChanged() untuk mengosongkan cache dalam memori. Namun, jangan terlalu sering melakukannya karena menghapus cache adalah operasi yang sangat mahal. Anda tidak perlu memanggil
handlerBehaviorChanged() setelah mendaftarkan atau membatalkan pendaftaran pemroses peristiwa.
Stempel waktu
Properti timestamp dari peristiwa permintaan web hanya dijamin konsisten secara internal.
Membandingkan satu peristiwa dengan peristiwa lain akan memberi Anda selisih yang benar di antara keduanya, tetapi membandingkannya dengan waktu saat ini di dalam ekstensi (melalui (new Date()).getTime(), misalnya) dapat memberikan hasil yang tidak terduga.
Penanganan error
Jika Anda mencoba mendaftarkan peristiwa dengan argumen yang tidak valid, error JavaScript akan ditampilkan, dan pengendali peristiwa tidak akan didaftarkan. Jika error terjadi saat peristiwa ditangani atau jika pemroses peristiwa menampilkan respons pemblokiran yang tidak valid, pesan error akan dicatat ke konsol ekstensi Anda, dan pemroses akan diabaikan untuk permintaan tersebut.
Contoh
Contoh berikut menggambarkan cara memblokir semua permintaan ke www.evil.com:
chrome.webRequest.onBeforeRequest.addListener(
  function(details) {
    return {cancel: details.url.indexOf("://www.evil.com/") != -1};
  },
  {urls: ["<all_urls>"]},
  ["blocking"]
);
Karena fungsi ini menggunakan pengendali peristiwa pemblokiran, fungsi ini memerlukan izin "webRequest" serta
"webRequestBlocking" dalam file manifes.
Contoh berikut mencapai tujuan yang sama dengan cara yang lebih efisien karena permintaan yang tidak
ditargetkan ke www.evil.com tidak perlu diteruskan ke ekstensi:
chrome.webRequest.onBeforeRequest.addListener(
  function(details) { return {cancel: true}; },
  {urls: ["*://www.evil.com/*"]},
  ["blocking"]
);
Contoh berikut menggambarkan cara menghapus header User-Agent dari semua permintaan:
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"]
);
Untuk mencoba API chrome.webRequest,
instal contoh webRequest dari repositori chrome-extension-samples.
Jenis
BlockingResponse
Mengembalikan nilai untuk pengendali peristiwa yang menerapkan extraInfoSpec 'blocking'. Memungkinkan pengendali peristiwa mengubah permintaan jaringan.
Properti
- 
    authCredentialsobjek opsional Hanya digunakan sebagai respons terhadap peristiwa onAuthRequired. Jika ditetapkan, permintaan dibuat menggunakan kredensial yang diberikan. - 
    sandistring 
- 
    nama penggunastring 
 
- 
    
- 
    batalboolean opsional Jika benar, permintaan akan dibatalkan. Tindakan ini mencegah permintaan dikirim. Ini dapat digunakan sebagai respons terhadap peristiwa onBeforeRequest, onBeforeSendHeaders, onHeadersReceived, dan onAuthRequired. 
- 
    redirectUrlstring opsional Hanya digunakan sebagai respons terhadap peristiwa onBeforeRequest dan onHeadersReceived. Jika ditetapkan, permintaan asli tidak akan dikirim/diselesaikan dan akan dialihkan ke URL yang diberikan. Pengalihan ke skema non-HTTP seperti data:diizinkan. Pengalihan yang dimulai oleh tindakan pengalihan menggunakan metode permintaan asli untuk pengalihan, dengan satu pengecualian: Jika pengalihan dimulai pada tahap onHeadersReceived, pengalihan akan dilakukan menggunakan metode GET. Pengalihan dari URL dengan skemaws://danwss://akan diabaikan.
- 
    requestHeadersHttpHeaders opsional Hanya digunakan sebagai respons terhadap peristiwa onBeforeSendHeaders. Jika disetel, permintaan akan dibuat dengan header permintaan ini. 
- 
    responseHeadersHttpHeaders opsional Hanya digunakan sebagai respons terhadap peristiwa onHeadersReceived. Jika disetel, server diasumsikan telah merespons dengan header respons ini. Hanya tampilkan responseHeadersjika Anda benar-benar ingin mengubah header untuk membatasi jumlah konflik (hanya satu ekstensi yang dapat mengubahresponseHeadersuntuk setiap permintaan).
FormDataItem
Berisi data yang diteruskan dalam data formulir. Untuk formulir yang di-URL encode, data disimpan sebagai string jika data adalah string UTF-8 dan sebagai ArrayBuffer jika tidak. Untuk form-data, formatnya adalah ArrayBuffer. Jika form-data merepresentasikan upload file, maka berupa string dengan nama file, jika nama file diberikan.
Enum
ArrayBuffer
string
HttpHeaders
Array header HTTP. Setiap header ditampilkan sebagai kamus yang berisi kunci name dan value atau binaryValue.
Jenis
object[]
Properti
- 
    binaryValuenumber[] opsional Nilai header HTTP jika tidak dapat direpresentasikan oleh UTF-8, disimpan sebagai nilai byte individual (0..255). 
- 
    namastring Nama header HTTP. 
- 
    nilaistring opsional Nilai header HTTP jika dapat direpresentasikan oleh UTF-8. 
IgnoredActionType
Enum
"redirect" 
 
"request_headers" 
 
"response_headers" 
 
"auth_credentials" 
 
OnAuthRequiredOptions
Enum
"responseHeaders" 
 Menentukan bahwa header respons harus disertakan dalam peristiwa.
"blocking" 
 Menentukan bahwa permintaan diblokir hingga fungsi callback ditampilkan.
"asyncBlocking" 
 Menentukan bahwa fungsi callback ditangani secara asinkron.
"extraHeaders" 
 Menentukan bahwa header dapat melanggar Cross-Origin Resource Sharing (CORS).
OnBeforeRedirectOptions
Enum
"responseHeaders" 
 Menentukan bahwa header respons harus disertakan dalam peristiwa.
"extraHeaders" 
 Menentukan bahwa header dapat melanggar Cross-Origin Resource Sharing (CORS).
OnBeforeRequestOptions
Enum
"blocking" 
 Menentukan bahwa permintaan diblokir hingga fungsi callback ditampilkan.
"requestBody" 
 Menentukan bahwa isi permintaan harus disertakan dalam peristiwa.
"extraHeaders" 
 Menentukan bahwa header dapat melanggar Cross-Origin Resource Sharing (CORS).
OnBeforeSendHeadersOptions
Enum
"requestHeaders" 
 Menentukan bahwa header permintaan harus disertakan dalam peristiwa.
"blocking" 
 Menentukan bahwa permintaan diblokir hingga fungsi callback ditampilkan.
"extraHeaders" 
 Menentukan bahwa header dapat melanggar Cross-Origin Resource Sharing (CORS).
OnCompletedOptions
Enum
"responseHeaders" 
 Menentukan bahwa header respons harus disertakan dalam peristiwa.
"extraHeaders" 
 Menentukan bahwa header dapat melanggar Cross-Origin Resource Sharing (CORS).
OnErrorOccurredOptions
Nilai
"extraHeaders" 
 
OnHeadersReceivedOptions
Enum
"blocking" 
 Menentukan bahwa permintaan diblokir hingga fungsi callback ditampilkan.
"responseHeaders" 
 Menentukan bahwa header respons harus disertakan dalam peristiwa.
"extraHeaders" 
 Menentukan bahwa header dapat melanggar Cross-Origin Resource Sharing (CORS).
OnResponseStartedOptions
Enum
"responseHeaders" 
 Menentukan bahwa header respons harus disertakan dalam peristiwa.
"extraHeaders" 
 Menentukan bahwa header dapat melanggar Cross-Origin Resource Sharing (CORS).
OnSendHeadersOptions
Enum
"requestHeaders" 
 Menentukan bahwa header permintaan harus disertakan dalam peristiwa.
"extraHeaders" 
 Menentukan bahwa header dapat melanggar Cross-Origin Resource Sharing (CORS).
RequestFilter
Objek yang menjelaskan filter untuk diterapkan ke peristiwa webRequest.
Properti
- 
    tabIdnomor opsional 
- 
    tipeResourceType[] opsional Daftar jenis permintaan. Permintaan yang tidak dapat cocok dengan jenis apa pun akan dikecualikan. 
- 
    Urlstring[] Daftar URL atau pola URL. Permintaan yang tidak dapat mencocokkan URL mana pun akan dikecualikan. 
- 
    windowIdnomor opsional 
ResourceType
Enum
"main_frame" 
 Menentukan resource sebagai frame utama.
"sub_frame" 
 Menentukan resource sebagai sub-frame.
"stylesheet" 
 Menentukan resource sebagai stylesheet.
"script" 
 Menentukan resource sebagai skrip.
"image" 
 Menentukan resource sebagai gambar.
"font" 
 Menentukan resource sebagai font.
"object" 
 Menentukan resource sebagai objek.
"xmlhttprequest" 
 Menentukan resource sebagai XMLHttpRequest.
"ping" 
 Menentukan resource sebagai ping.
"csp_report" 
 Menentukan resource sebagai laporan Kebijakan Keamanan Konten (CSP).
"media" 
 Menentukan resource sebagai objek media.
"websocket" 
 Menentukan resource sebagai WebSocket.
"webbundle" 
 Menentukan resource sebagai WebBundle.
"lainnya" 
 Menentukan resource sebagai jenis yang tidak termasuk dalam jenis yang tercantum.
UploadData
Berisi data yang diupload dalam permintaan URL.
Properti
- 
    byteopsional ArrayBuffer dengan salinan data. 
- 
    filestring opsional String dengan jalur dan nama file. 
Properti
MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES
Jumlah maksimum panggilan handlerBehaviorChanged per interval berkelanjutan 10 menit. handlerBehaviorChanged adalah panggilan fungsi yang mahal dan tidak boleh sering dipanggil.
Nilai
20 
 
Metode
handlerBehaviorChanged()
chrome.webRequest.handlerBehaviorChanged(
callback?: function,
): Promise<void>
Harus dipanggil saat perilaku handler webRequest telah berubah untuk mencegah penanganan yang salah karena penyimpanan dalam cache. Panggilan fungsi ini mahal. Jangan sering memanggilnya.
Parameter
- 
    callbackfungsi opsional Parameter callbackterlihat seperti:() => void 
Hasil
- 
            Promise<void> Chrome 116+Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback. 
Acara
onActionIgnored
chrome.webRequest.onActionIgnored.addListener(
callback: function,
)
Diaktifkan saat modifikasi yang diusulkan ekstensi pada permintaan jaringan diabaikan. Hal ini terjadi jika ada konflik dengan ekstensi lain.
Parameter
- 
    callbackfungsi Parameter callbackterlihat seperti:(details: object) => void - 
    detailobjek - 
    actionTindakan yang diusulkan yang diabaikan. 
- 
    requestIdstring ID permintaan. ID permintaan bersifat unik dalam sesi browser. Oleh karena itu, ID ini dapat digunakan untuk menghubungkan berbagai peristiwa dari permintaan yang sama. 
 
- 
    
 
- 
    
onAuthRequired
chrome.webRequest.onAuthRequired.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnAuthRequiredOptions[],
)
Diaktifkan saat kegagalan autentikasi diterima. Pendengar memiliki tiga opsi: dapat memberikan kredensial autentikasi, dapat membatalkan permintaan dan menampilkan halaman error, atau tidak melakukan tindakan apa pun pada tantangan. Jika kredensial pengguna yang salah diberikan, metode ini dapat dipanggil beberapa kali untuk permintaan yang sama. Perhatikan, hanya salah satu mode 'blocking' atau 'asyncBlocking' yang harus ditentukan dalam parameter extraInfoSpec.
Parameter
- 
    callbackfungsi Parameter callbackterlihat seperti:(details: object, asyncCallback?: function) => BlockingResponse | undefined - 
    detailobjek - 
    penantangobjek Server yang meminta autentikasi. - 
    hoststring 
- 
    portangka 
 
- 
    
- 
    documentIdstring Chrome 106+UUID dokumen yang membuat permintaan. 
- 
    documentLifecycleChrome 106+Siklus proses dokumen. 
- 
    frameIdangka Nilai 0 menunjukkan bahwa permintaan terjadi di frame utama; nilai positif menunjukkan ID subframe tempat permintaan terjadi. Jika dokumen (sub-)frame dimuat ( typeadalahmain_frameatausub_frame),frameIdmenunjukkan ID frame ini, bukan ID frame luar. ID frame bersifat unik dalam tab.
- 
    frameTypeChrome 106+Jenis frame tempat permintaan terjadi. 
- 
    pemrakarsastring opsional Chrome 63+Asal tempat permintaan dimulai. Hal ini tidak berubah melalui pengalihan. Jika ini adalah origin buram, string 'null' akan digunakan. 
- 
    isProxyboolean Benar untuk Proxy-Authenticate, salah untuk WWW-Authenticate. 
- 
    methodstring Metode HTTP standar. 
- 
    parentDocumentIdstring opsional Chrome 106+UUID dokumen induk yang memiliki frame ini. Atribut ini tidak disetel jika tidak ada induk. 
- 
    parentFrameIdangka ID frame yang membungkus frame yang mengirim permintaan. Disetel ke -1 jika tidak ada frame induk. 
- 
    realmstring opsional Realm autentikasi yang disediakan oleh server, jika ada. 
- 
    requestIdstring ID permintaan. ID permintaan bersifat unik dalam sesi browser. Oleh karena itu, ID ini dapat digunakan untuk menghubungkan berbagai peristiwa dari permintaan yang sama. 
- 
    responseHeadersHttpHeaders opsional Header respons HTTP yang diterima bersama dengan respons ini. 
- 
    skemastring Skema autentikasi, misalnya, Basic atau Digest. 
- 
    statusCodeangka Chrome 43+Kode status HTTP standar yang ditampilkan oleh server. 
- 
    statusLinestring Baris status HTTP respons atau string 'HTTP/0.9 200 OK' untuk respons HTTP/0.9 (yaitu, respons yang tidak memiliki baris status) atau string kosong jika tidak ada header. 
- 
    tabIdangka ID tab tempat permintaan dilakukan. Disetel ke -1 jika permintaan tidak terkait dengan tab. 
- 
    timeStampangka Waktu saat sinyal ini dipicu, dalam milidetik sejak epoch. 
- 
    jenisCara penggunaan resource yang diminta. 
- 
    urlstring 
 
- 
    
- 
    asyncCallbackfungsi opsional Chrome 58+Parameter asyncCallbackterlihat seperti:(response: BlockingResponse) => void - 
    respons
 
- 
    
 - 
            returnBlockingResponse | undefined Jika "blocking" ditentukan dalam parameter "extraInfoSpec", pemroses peristiwa harus menampilkan objek jenis ini. 
 
- 
    
- 
    filter
- 
    extraInfoSpecOnAuthRequiredOptions[] opsional 
onBeforeRedirect
chrome.webRequest.onBeforeRedirect.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnBeforeRedirectOptions[],
)
Diaktifkan saat pengalihan yang dimulai server akan terjadi.
Parameter
- 
    callbackfungsi Parameter callbackterlihat seperti:(details: object) => void - 
    detailobjek - 
    documentIdstring Chrome 106+UUID dokumen yang membuat permintaan. 
- 
    documentLifecycleChrome 106+Siklus proses dokumen. 
- 
    frameIdangka Nilai 0 menunjukkan bahwa permintaan terjadi di frame utama; nilai positif menunjukkan ID subframe tempat permintaan terjadi. Jika dokumen (sub-)frame dimuat ( typeadalahmain_frameatausub_frame),frameIdmenunjukkan ID frame ini, bukan ID frame luar. ID frame bersifat unik dalam tab.
- 
    frameTypeChrome 106+Jenis frame tempat permintaan terjadi. 
- 
    fromCacheboolean Menunjukkan apakah respons ini diambil dari cache disk. 
- 
    pemrakarsastring opsional Chrome 63+Asal tempat permintaan dimulai. Hal ini tidak berubah melalui pengalihan. Jika ini adalah origin buram, string 'null' akan digunakan. 
- 
    ipstring opsional Alamat IP server yang sebenarnya dituju oleh permintaan. Perhatikan bahwa alamat tersebut mungkin berupa alamat IPv6 literal. 
- 
    methodstring Metode HTTP standar. 
- 
    parentDocumentIdstring opsional Chrome 106+UUID dokumen induk yang memiliki frame ini. Atribut ini tidak disetel jika tidak ada induk. 
- 
    parentFrameIdangka ID frame yang membungkus frame yang mengirim permintaan. Disetel ke -1 jika tidak ada frame induk. 
- 
    redirectUrlstring URL baru. 
- 
    requestIdstring ID permintaan. ID permintaan bersifat unik dalam sesi browser. Oleh karena itu, ID ini dapat digunakan untuk menghubungkan berbagai peristiwa dari permintaan yang sama. 
- 
    responseHeadersHttpHeaders opsional Header respons HTTP yang diterima bersama dengan pengalihan ini. 
- 
    statusCodeangka Kode status HTTP standar yang ditampilkan oleh server. 
- 
    statusLinestring Baris status HTTP respons atau string 'HTTP/0.9 200 OK' untuk respons HTTP/0.9 (yaitu, respons yang tidak memiliki baris status) atau string kosong jika tidak ada header. 
- 
    tabIdangka ID tab tempat permintaan dilakukan. Disetel ke -1 jika permintaan tidak terkait dengan tab. 
- 
    timeStampangka Waktu saat sinyal ini dipicu, dalam milidetik sejak epoch. 
- 
    jenisCara penggunaan resource yang diminta. 
- 
    urlstring 
 
- 
    
 
- 
    
- 
    filter
- 
    extraInfoSpecOnBeforeRedirectOptions[] opsional 
onBeforeRequest
chrome.webRequest.onBeforeRequest.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnBeforeRequestOptions[],
)
Diaktifkan saat permintaan akan terjadi.
Parameter
- 
    callbackfungsi Parameter callbackterlihat seperti:(details: object) => BlockingResponse | undefined - 
    detailobjek - 
    documentIdstring opsional Chrome 106+UUID dokumen yang membuat permintaan. 
- 
    documentLifecycleextensionTypes.DocumentLifecycle opsional Chrome 106+Siklus proses dokumen. 
- 
    frameIdangka Nilai 0 menunjukkan bahwa permintaan terjadi di frame utama; nilai positif menunjukkan ID subframe tempat permintaan terjadi. Jika dokumen (sub-)frame dimuat ( typeadalahmain_frameatausub_frame),frameIdmenunjukkan ID frame ini, bukan ID frame luar. ID frame bersifat unik dalam tab.
- 
    frameTypeextensionTypes.FrameType opsional Chrome 106+Jenis frame tempat permintaan terjadi. 
- 
    pemrakarsastring opsional Chrome 63+Asal tempat permintaan dimulai. Hal ini tidak berubah melalui pengalihan. Jika ini adalah origin buram, string 'null' akan digunakan. 
- 
    methodstring Metode HTTP standar. 
- 
    parentDocumentIdstring opsional Chrome 106+UUID dokumen induk yang memiliki frame ini. Atribut ini tidak disetel jika tidak ada induk. 
- 
    parentFrameIdangka ID frame yang membungkus frame yang mengirim permintaan. Disetel ke -1 jika tidak ada frame induk. 
- 
    requestBodyobjek opsional Berisi data isi permintaan HTTP. Hanya disediakan jika extraInfoSpec berisi 'requestBody'. - 
    errorstring opsional Error saat mendapatkan data isi permintaan. 
- 
    formDataobjek opsional Jika metode permintaan adalah POST dan isi adalah urutan pasangan nilai kunci yang dienkode dalam UTF8, dienkode sebagai multipart/form-data, atau application/x-www-form-urlencoded, kamus ini ada dan untuk setiap kunci berisi daftar semua nilai untuk kunci tersebut. Jika data berjenis media lain, atau jika salah bentuk, kamus tidak ada. Contoh nilai kamus ini adalah {'key': ['value1', 'value2']}. 
- 
    mentahUploadData[] opsional Jika metode permintaan adalah PUT atau POST, dan isi belum diuraikan dalam formData, elemen isi permintaan yang tidak diuraikan akan dimuat dalam array ini. 
 
- 
    
- 
    requestIdstring ID permintaan. ID permintaan bersifat unik dalam sesi browser. Oleh karena itu, ID ini dapat digunakan untuk menghubungkan berbagai peristiwa dari permintaan yang sama. 
- 
    tabIdangka ID tab tempat permintaan dilakukan. Disetel ke -1 jika permintaan tidak terkait dengan tab. 
- 
    timeStampangka Waktu saat sinyal ini dipicu, dalam milidetik sejak epoch. 
- 
    jenisCara penggunaan resource yang diminta. 
- 
    urlstring 
 
- 
    
 - 
            returnBlockingResponse | undefined Jika "blocking" ditentukan dalam parameter "extraInfoSpec", pemroses peristiwa harus menampilkan objek jenis ini. 
 
- 
    
- 
    filter
- 
    extraInfoSpecOnBeforeRequestOptions[] opsional 
onBeforeSendHeaders
chrome.webRequest.onBeforeSendHeaders.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnBeforeSendHeadersOptions[],
)
Diaktifkan sebelum mengirim permintaan HTTP, setelah header permintaan tersedia. Hal ini dapat terjadi setelah koneksi TCP dibuat ke server, tetapi sebelum data HTTP dikirim.
Parameter
- 
    callbackfungsi Parameter callbackterlihat seperti:(details: object) => BlockingResponse | undefined - 
    detailobjek - 
    documentIdstring Chrome 106+UUID dokumen yang membuat permintaan. 
- 
    documentLifecycleChrome 106+Siklus proses dokumen. 
- 
    frameIdangka Nilai 0 menunjukkan bahwa permintaan terjadi di frame utama; nilai positif menunjukkan ID subframe tempat permintaan terjadi. Jika dokumen (sub-)frame dimuat ( typeadalahmain_frameatausub_frame),frameIdmenunjukkan ID frame ini, bukan ID frame luar. ID frame bersifat unik dalam tab.
- 
    frameTypeChrome 106+Jenis frame tempat permintaan terjadi. 
- 
    pemrakarsastring opsional Chrome 63+Asal tempat permintaan dimulai. Hal ini tidak berubah melalui pengalihan. Jika ini adalah origin buram, string 'null' akan digunakan. 
- 
    methodstring Metode HTTP standar. 
- 
    parentDocumentIdstring opsional Chrome 106+UUID dokumen induk yang memiliki frame ini. Atribut ini tidak disetel jika tidak ada induk. 
- 
    parentFrameIdangka ID frame yang membungkus frame yang mengirim permintaan. Disetel ke -1 jika tidak ada frame induk. 
- 
    requestHeadersHttpHeaders opsional Header permintaan HTTP yang akan dikirim dengan permintaan ini. 
- 
    requestIdstring ID permintaan. ID permintaan bersifat unik dalam sesi browser. Oleh karena itu, ID ini dapat digunakan untuk menghubungkan berbagai peristiwa dari permintaan yang sama. 
- 
    tabIdangka ID tab tempat permintaan dilakukan. Disetel ke -1 jika permintaan tidak terkait dengan tab. 
- 
    timeStampangka Waktu saat sinyal ini dipicu, dalam milidetik sejak epoch. 
- 
    jenisCara penggunaan resource yang diminta. 
- 
    urlstring 
 
- 
    
 - 
            returnBlockingResponse | undefined Jika "blocking" ditentukan dalam parameter "extraInfoSpec", pemroses peristiwa harus menampilkan objek jenis ini. 
 
- 
    
- 
    filter
- 
    extraInfoSpecOnBeforeSendHeadersOptions[] opsional 
onCompleted
chrome.webRequest.onCompleted.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnCompletedOptions[],
)
Diaktifkan saat permintaan selesai.
Parameter
- 
    callbackfungsi Parameter callbackterlihat seperti:(details: object) => void - 
    detailobjek - 
    documentIdstring Chrome 106+UUID dokumen yang membuat permintaan. 
- 
    documentLifecycleChrome 106+Siklus proses dokumen. 
- 
    frameIdangka Nilai 0 menunjukkan bahwa permintaan terjadi di frame utama; nilai positif menunjukkan ID subframe tempat permintaan terjadi. Jika dokumen (sub-)frame dimuat ( typeadalahmain_frameatausub_frame),frameIdmenunjukkan ID frame ini, bukan ID frame luar. ID frame bersifat unik dalam tab.
- 
    frameTypeChrome 106+Jenis frame tempat permintaan terjadi. 
- 
    fromCacheboolean Menunjukkan apakah respons ini diambil dari cache disk. 
- 
    pemrakarsastring opsional Chrome 63+Asal tempat permintaan dimulai. Hal ini tidak berubah melalui pengalihan. Jika ini adalah origin buram, string 'null' akan digunakan. 
- 
    ipstring opsional Alamat IP server yang sebenarnya dituju oleh permintaan. Perhatikan bahwa alamat tersebut mungkin berupa alamat IPv6 literal. 
- 
    methodstring Metode HTTP standar. 
- 
    parentDocumentIdstring opsional Chrome 106+UUID dokumen induk yang memiliki frame ini. Atribut ini tidak disetel jika tidak ada induk. 
- 
    parentFrameIdangka ID frame yang membungkus frame yang mengirim permintaan. Disetel ke -1 jika tidak ada frame induk. 
- 
    requestIdstring ID permintaan. ID permintaan bersifat unik dalam sesi browser. Oleh karena itu, ID ini dapat digunakan untuk menghubungkan berbagai peristiwa dari permintaan yang sama. 
- 
    responseHeadersHttpHeaders opsional Header respons HTTP yang diterima bersama dengan respons ini. 
- 
    statusCodeangka Kode status HTTP standar yang ditampilkan oleh server. 
- 
    statusLinestring Baris status HTTP respons atau string 'HTTP/0.9 200 OK' untuk respons HTTP/0.9 (yaitu, respons yang tidak memiliki baris status) atau string kosong jika tidak ada header. 
- 
    tabIdangka ID tab tempat permintaan dilakukan. Disetel ke -1 jika permintaan tidak terkait dengan tab. 
- 
    timeStampangka Waktu saat sinyal ini dipicu, dalam milidetik sejak epoch. 
- 
    jenisCara penggunaan resource yang diminta. 
- 
    urlstring 
 
- 
    
 
- 
    
- 
    filter
- 
    extraInfoSpecOnCompletedOptions[] opsional 
onErrorOccurred
chrome.webRequest.onErrorOccurred.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnErrorOccurredOptions[],
)
Diaktifkan saat terjadi error.
Parameter
- 
    callbackfungsi Parameter callbackterlihat seperti:(details: object) => void - 
    detailobjek - 
    documentIdstring Chrome 106+UUID dokumen yang membuat permintaan. Nilai ini tidak ada jika permintaan adalah navigasi frame. 
- 
    documentLifecycleChrome 106+Siklus proses dokumen. 
- 
    errorstring Deskripsi error. String ini tidak dijamin tetap kompatibel dengan versi sebelumnya di antara rilis. Anda tidak boleh mengurai dan bertindak berdasarkan kontennya. 
- 
    frameIdangka Nilai 0 menunjukkan bahwa permintaan terjadi di frame utama; nilai positif menunjukkan ID subframe tempat permintaan terjadi. Jika dokumen (sub-)frame dimuat ( typeadalahmain_frameatausub_frame),frameIdmenunjukkan ID frame ini, bukan ID frame luar. ID frame bersifat unik dalam tab.
- 
    frameTypeChrome 106+Jenis frame tempat permintaan terjadi. 
- 
    fromCacheboolean Menunjukkan apakah respons ini diambil dari cache disk. 
- 
    pemrakarsastring opsional Chrome 63+Asal tempat permintaan dimulai. Hal ini tidak berubah melalui pengalihan. Jika ini adalah origin buram, string 'null' akan digunakan. 
- 
    ipstring opsional Alamat IP server yang sebenarnya dituju oleh permintaan. Perhatikan bahwa alamat tersebut mungkin berupa alamat IPv6 literal. 
- 
    methodstring Metode HTTP standar. 
- 
    parentDocumentIdstring opsional Chrome 106+UUID dokumen induk yang memiliki frame ini. Atribut ini tidak disetel jika tidak ada induk. 
- 
    parentFrameIdangka ID frame yang membungkus frame yang mengirim permintaan. Disetel ke -1 jika tidak ada frame induk. 
- 
    requestIdstring ID permintaan. ID permintaan bersifat unik dalam sesi browser. Oleh karena itu, ID ini dapat digunakan untuk menghubungkan berbagai peristiwa dari permintaan yang sama. 
- 
    tabIdangka ID tab tempat permintaan dilakukan. Disetel ke -1 jika permintaan tidak terkait dengan tab. 
- 
    timeStampangka Waktu saat sinyal ini dipicu, dalam milidetik sejak epoch. 
- 
    jenisCara penggunaan resource yang diminta. 
- 
    urlstring 
 
- 
    
 
- 
    
- 
    filter
- 
    extraInfoSpecOnErrorOccurredOptions[] opsional 
onHeadersReceived
chrome.webRequest.onHeadersReceived.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnHeadersReceivedOptions[],
)
Diaktifkan saat header respons HTTP dari permintaan telah diterima.
Parameter
- 
    callbackfungsi Parameter callbackterlihat seperti:(details: object) => BlockingResponse | undefined - 
    detailobjek - 
    documentIdstring Chrome 106+UUID dokumen yang membuat permintaan. 
- 
    documentLifecycleChrome 106+Siklus proses dokumen. 
- 
    frameIdangka Nilai 0 menunjukkan bahwa permintaan terjadi di frame utama; nilai positif menunjukkan ID subframe tempat permintaan terjadi. Jika dokumen (sub-)frame dimuat ( typeadalahmain_frameatausub_frame),frameIdmenunjukkan ID frame ini, bukan ID frame luar. ID frame bersifat unik dalam tab.
- 
    frameTypeChrome 106+Jenis frame tempat permintaan terjadi. 
- 
    pemrakarsastring opsional Chrome 63+Asal tempat permintaan dimulai. Hal ini tidak berubah melalui pengalihan. Jika ini adalah origin buram, string 'null' akan digunakan. 
- 
    methodstring Metode HTTP standar. 
- 
    parentDocumentIdstring opsional Chrome 106+UUID dokumen induk yang memiliki frame ini. Atribut ini tidak disetel jika tidak ada induk. 
- 
    parentFrameIdangka ID frame yang membungkus frame yang mengirim permintaan. Disetel ke -1 jika tidak ada frame induk. 
- 
    requestIdstring ID permintaan. ID permintaan bersifat unik dalam sesi browser. Oleh karena itu, ID ini dapat digunakan untuk menghubungkan berbagai peristiwa dari permintaan yang sama. 
- 
    responseHeadersHttpHeaders opsional Header respons HTTP yang telah diterima dengan respons ini. 
- 
    statusCodeangka Chrome 43+Kode status HTTP standar yang ditampilkan oleh server. 
- 
    statusLinestring Baris status HTTP respons atau string 'HTTP/0.9 200 OK' untuk respons HTTP/0.9 (yaitu, respons yang tidak memiliki baris status). 
- 
    tabIdangka ID tab tempat permintaan dilakukan. Disetel ke -1 jika permintaan tidak terkait dengan tab. 
- 
    timeStampangka Waktu saat sinyal ini dipicu, dalam milidetik sejak epoch. 
- 
    jenisCara penggunaan resource yang diminta. 
- 
    urlstring 
 
- 
    
 - 
            returnBlockingResponse | undefined Jika "blocking" ditentukan dalam parameter "extraInfoSpec", pemroses peristiwa harus menampilkan objek jenis ini. 
 
- 
    
- 
    filter
- 
    extraInfoSpecOnHeadersReceivedOptions[] opsional 
onResponseStarted
chrome.webRequest.onResponseStarted.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnResponseStartedOptions[],
)
Diaktifkan saat byte pertama isi respons diterima. Untuk permintaan HTTP, ini berarti baris status dan header respons tersedia.
Parameter
- 
    callbackfungsi Parameter callbackterlihat seperti:(details: object) => void - 
    detailobjek - 
    documentIdstring Chrome 106+UUID dokumen yang membuat permintaan. 
- 
    documentLifecycleChrome 106+Siklus proses dokumen. 
- 
    frameIdangka Nilai 0 menunjukkan bahwa permintaan terjadi di frame utama; nilai positif menunjukkan ID subframe tempat permintaan terjadi. Jika dokumen (sub-)frame dimuat ( typeadalahmain_frameatausub_frame),frameIdmenunjukkan ID frame ini, bukan ID frame luar. ID frame bersifat unik dalam tab.
- 
    frameTypeChrome 106+Jenis frame tempat permintaan terjadi. 
- 
    fromCacheboolean Menunjukkan apakah respons ini diambil dari cache disk. 
- 
    pemrakarsastring opsional Chrome 63+Asal tempat permintaan dimulai. Hal ini tidak berubah melalui pengalihan. Jika ini adalah origin buram, string 'null' akan digunakan. 
- 
    ipstring opsional Alamat IP server yang sebenarnya dituju oleh permintaan. Perhatikan bahwa alamat tersebut mungkin berupa alamat IPv6 literal. 
- 
    methodstring Metode HTTP standar. 
- 
    parentDocumentIdstring opsional Chrome 106+UUID dokumen induk yang memiliki frame ini. Atribut ini tidak disetel jika tidak ada induk. 
- 
    parentFrameIdangka ID frame yang membungkus frame yang mengirim permintaan. Disetel ke -1 jika tidak ada frame induk. 
- 
    requestIdstring ID permintaan. ID permintaan bersifat unik dalam sesi browser. Oleh karena itu, ID ini dapat digunakan untuk menghubungkan berbagai peristiwa dari permintaan yang sama. 
- 
    responseHeadersHttpHeaders opsional Header respons HTTP yang diterima bersama dengan respons ini. 
- 
    statusCodeangka Kode status HTTP standar yang ditampilkan oleh server. 
- 
    statusLinestring Baris status HTTP respons atau string 'HTTP/0.9 200 OK' untuk respons HTTP/0.9 (yaitu, respons yang tidak memiliki baris status) atau string kosong jika tidak ada header. 
- 
    tabIdangka ID tab tempat permintaan dilakukan. Disetel ke -1 jika permintaan tidak terkait dengan tab. 
- 
    timeStampangka Waktu saat sinyal ini dipicu, dalam milidetik sejak epoch. 
- 
    jenisCara penggunaan resource yang diminta. 
- 
    urlstring 
 
- 
    
 
- 
    
- 
    filter
- 
    extraInfoSpecOnResponseStartedOptions[] opsional 
onSendHeaders
chrome.webRequest.onSendHeaders.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnSendHeadersOptions[],
)
Diaktifkan tepat sebelum permintaan akan dikirim ke server (modifikasi pada callback onBeforeSendHeaders sebelumnya terlihat pada saat onSendHeaders diaktifkan).
Parameter
- 
    callbackfungsi Parameter callbackterlihat seperti:(details: object) => void - 
    detailobjek - 
    documentIdstring Chrome 106+UUID dokumen yang membuat permintaan. 
- 
    documentLifecycleChrome 106+Siklus proses dokumen. 
- 
    frameIdangka Nilai 0 menunjukkan bahwa permintaan terjadi di frame utama; nilai positif menunjukkan ID subframe tempat permintaan terjadi. Jika dokumen (sub-)frame dimuat ( typeadalahmain_frameatausub_frame),frameIdmenunjukkan ID frame ini, bukan ID frame luar. ID frame bersifat unik dalam tab.
- 
    frameTypeChrome 106+Jenis frame tempat permintaan terjadi. 
- 
    pemrakarsastring opsional Chrome 63+Asal tempat permintaan dimulai. Hal ini tidak berubah melalui pengalihan. Jika ini adalah origin buram, string 'null' akan digunakan. 
- 
    methodstring Metode HTTP standar. 
- 
    parentDocumentIdstring opsional Chrome 106+UUID dokumen induk yang memiliki frame ini. Atribut ini tidak disetel jika tidak ada induk. 
- 
    parentFrameIdangka ID frame yang membungkus frame yang mengirim permintaan. Disetel ke -1 jika tidak ada frame induk. 
- 
    requestHeadersHttpHeaders opsional Header permintaan HTTP yang telah dikirim dengan permintaan ini. 
- 
    requestIdstring ID permintaan. ID permintaan bersifat unik dalam sesi browser. Oleh karena itu, ID ini dapat digunakan untuk menghubungkan berbagai peristiwa dari permintaan yang sama. 
- 
    tabIdangka ID tab tempat permintaan dilakukan. Disetel ke -1 jika permintaan tidak terkait dengan tab. 
- 
    timeStampangka Waktu saat sinyal ini dipicu, dalam milidetik sejak epoch. 
- 
    jenisCara penggunaan resource yang diminta. 
- 
    urlstring 
 
- 
    
 
- 
    
- 
    filter
- 
    extraInfoSpecOnSendHeadersOptions[] opsional