chrome.webRequest

refresh date: 2026-09-25 robots: noindex

Deskripsi

Gunakan chrome.webRequest API untuk mengamati dan menganalisis traffic serta mencegat, memblokir, atau mengubah permintaan yang sedang berjalan.

Izin

webRequest

Manifes

Anda harus mendeklarasikan izin "webRequest" dalam manifes ekstensi untuk menggunakan API permintaan web, beserta izin host yang diperlukan. Untuk menangkap permintaan sub-resource, ekstensi harus memiliki akses ke URL yang diminta dan inisiatornya. Contoh:

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

Mulai Chrome 108, Anda dapat memberikan kredensial secara asinkron untuk peristiwa onAuthRequired jika 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:

Siklus proses permintaan web dari perspektif webrequest API

onBeforeRequest (sinkron secara opsional)
Diaktifkan saat permintaan akan terjadi. Peristiwa ini dikirim sebelum koneksi TCP dibuat dan dapat digunakan untuk membatalkan atau mengalihkan permintaan.
onBeforeSendHeaders (sinkron secara opsional)
Diaktifkan saat permintaan akan terjadi dan header awal telah disiapkan. Peristiwa ini dimaksudkan untuk memungkinkan ekstensi menambahkan, mengubah, dan menghapus header permintaan (*). Peristiwa onBeforeSendHeaders diteruskan ke semua pelanggan, sehingga pelanggan yang berbeda dapat mencoba mengubah permintaan; lihat bagian Detail implementasi 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 ini dipicu sebelum header dikirim ke jaringan. Peristiwa ini bersifat informasional dan ditangani secara asinkron. Permintaan tidak dapat diubah atau dibatalkan.
onHeadersReceived (sinkron secara opsional)
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. Perintah caching diproses sebelum peristiwa ini dipicu, sehingga mengubah header seperti Cache-Control tidak akan memengaruhi cache browser. Izin ini juga memungkinkan Anda membatalkan atau mengalihkan permintaan.
onAuthRequired (sinkron secara opsional)
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 tanpa batas dengan memberikan kredensial yang tidak valid berulang kali. Ini juga dapat digunakan untuk membatalkan permintaan.
onBeforeRedirect
Diaktifkan saat pengalihan akan dijalankan. Pengalihan dapat dipicu oleh kode respons HTTP atau oleh ekstensi. Peristiwa ini bersifat informasional dan ditangani secara asinkron. Anda tidak dapat mengubah atau membatalkan permintaan.
onResponseStarted
Diaktifkan saat byte pertama isi respons diterima. Untuk permintaan HTTP, ini berarti baris status dan header respons tersedia. Peristiwa ini bersifat informasional dan ditangani secara asinkron. Permintaan tidak dapat diubah atau dibatalkan.
onCompleted
Dipicu saat permintaan berhasil diproses.
onErrorOccurred
Diaktifkan saat permintaan tidak dapat berhasil diproses.

API permintaan web menjamin bahwa untuk setiap permintaan, onCompleted atau onErrorOccurred 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 setiap rentang byte 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 penyimpanan ke dalam cache 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 Parsial
  • Pragma
  • Proxy-Authorization
  • Proxy-Connection
  • Transfer-Encoding

Mulai Chrome 79, perubahan header permintaan akan memengaruhi pemeriksaan Cross-Origin Resource Sharing (CORS). Jika header yang diubah untuk permintaan lintas origin tidak memenuhi kriteria, hal ini akan menyebabkan 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 mengelabui 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 dapat dilihat oleh ekstensi jika ada pemroses 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 disediakan dan tidak dapat diubah atau dihapus tanpa menentukan 'extraHeaders' di opt_extraInfoSpec.

Mulai Chrome 89, header respons X-Frame-Options tidak dapat diubah atau dihapus secara efektif tanpa menentukan 'extraHeaders' di opt_extraInfoSpec.

webRequest API hanya mengekspos permintaan yang 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, permintaan tertentu dengan URL yang menggunakan salah satu skema di atas juga disembunyikan. Hal ini mencakup chrome-extension://other_extension_id dengan 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, XMLHttpRequest sinkron dari ekstensi Anda disembunyikan dari pemblokiran pengendali peristiwa untuk mencegah deadlock. Perhatikan bahwa untuk beberapa skema yang didukung, kumpulan peristiwa yang tersedia mungkin dibatasi karena sifat protokol yang sesuai. Misalnya, untuk skema file:, hanya onBeforeRequest, onResponseStarted, onCompleted, dan onErrorOccurred yang dapat dikirim.

Mulai Chrome 58, webRequest API mendukung intersepsi permintaan handshake WebSocket. Karena handshake dilakukan melalui permintaan upgrade HTTP, alurnya sesuai dengan model webRequest yang 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 akan dapat mencegat permintaan jika memiliki izin host untuk URL yang diminta dan inisiator permintaan.

Mulai Chrome 96, webRequest API mendukung intersepsi permintaan handshake WebTransport melalui HTTP/3. Karena handshake dilakukan melalui permintaan HTTP CONNECT, alurnya sesuai dengan model webRequest yang berorientasi HTTP. Perhatikan bahwa:

  • Setelah sesi dibuat, ekstensi tidak dapat mengamati atau mengintervensi sesi melalui webRequest API.
  • Mengubah header permintaan HTTP di onBeforeSendHeaders akan diabaikan.
  • Pengalihan dan autentikasi tidak didukung di WebTransport melalui HTTP/3.

Konsep

Seperti yang dijelaskan di bagian berikut, peristiwa di API permintaan web 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 jika terjadi 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 contoh pemrosesan peristiwa onBeforeRequest:

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

Setiap panggilan addListener() menggunakan fungsi callback wajib sebagai parameter pertama. Fungsi callback ini menerima 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 akan ditangani secara sinkron. Artinya, permintaan akan diblokir hingga fungsi callback ditampilkan. Dalam hal ini, callback dapat menampilkan webRequest.BlockingResponse yang menentukan siklus proses permintaan lebih lanjut. 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 menghasilkan webRequest.BlockingResponse secara asinkron.

webRequest.RequestFilter filter memungkinkan pembatasan permintaan yang memicu peristiwa dalam berbagai dimensi:

URL
Pola URL
seperti *://www.google.com/foo*bar.
Jenis
Jenis permintaan seperti main_frame (dokumen yang dimuat untuk frame tingkat atas), sub_frame (dokumen yang dimuat untuk frame tersemat), dan image (gambar di situs). Lihat webRequest.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. Ini digunakan untuk memberikan informasi mendetail tentang data permintaan hanya jika diminta secara eksplisit.

Detail implementasi

Beberapa detail implementasi dapat menjadi penting untuk dipahami saat mengembangkan ekstensi yang menggunakan API permintaan web:

web_accessible_resources

Jika ekstensi menggunakan API webRequest untuk mengalihkan permintaan resource publik ke resource yang tidak dapat diakses web, ekstensi tersebut akan diblokir dan akan menghasilkan error. Hal di atas berlaku meskipun resource yang tidak dapat diakses web dimiliki oleh ekstensi pengalihan. Untuk mendeklarasikan resource yang akan digunakan dengan API declarativeWebRequest, 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 melalui 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 paling baru diinstal akan menang, dan semua ekstensi lainnya akan diabaikan. Ekstensi tidak akan diberi tahu jika petunjuknya untuk mengubah atau mengalihkan telah diabaikan.

Menyimpan ke cache

Chrome menggunakan dua cache—cache disk dan cache memori yang sangat cepat. Masa aktif cache memori terkait dengan masa aktif proses perender, yang kira-kira sesuai dengan tab. Permintaan yang dijawab dari cache memori tidak terlihat oleh API permintaan web. Jika pengendali permintaan mengubah perilakunya (misalnya, perilaku yang menentukan permintaan mana yang diblokir), pemuatan ulang halaman sederhana mungkin tidak akan mengikuti perubahan perilaku ini. Untuk memastikan perubahan perilaku berlaku, panggil handlerBehaviorChanged() untuk mengosongkan cache dalam memori. Namun, jangan sering melakukannya; mengosongkan 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 (misalnya, melalui (new Date()).getTime()) mungkin akan 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 terjadi error saat peristiwa ditangani atau jika pengendali peristiwa menampilkan respons pemblokiran yang tidak valid, pesan error akan dicatat ke konsol ekstensi Anda, dan pengendali 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 sasaran 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 chrome.webRequest API, instal contoh webRequest dari repositori chrome-extension-samples.

Jenis

BlockingResponse

Menampilkan nilai untuk pengendali peristiwa yang menerapkan extraInfoSpec 'blocking'. Mengizinkan pengendali peristiwa mengubah permintaan jaringan.

Properti

  • authCredentials

    objek opsional

    Hanya digunakan sebagai respons terhadap peristiwa onAuthRequired. Jika ditetapkan, permintaan akan dibuat menggunakan kredensial yang diberikan.

    • sandi

      string

    • nama pengguna

      string

  • batal

    boolean opsional

    Jika benar, permintaan akan dibatalkan. Tindakan ini mencegah permintaan dikirim. Ini dapat digunakan sebagai respons terhadap peristiwa onBeforeRequest, onBeforeSendHeaders, onHeadersReceived, dan onAuthRequired.

  • redirectUrl

    string 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 dikeluarkan menggunakan metode GET. Pengalihan dari URL dengan skema ws:// dan wss:// akan diabaikan.

  • requestHeaders

    HttpHeaders opsional

    Hanya digunakan sebagai respons terhadap peristiwa onBeforeSendHeaders. Jika ditetapkan, permintaan akan dibuat dengan header permintaan ini.

  • responseHeaders

    HttpHeaders opsional

    Hanya digunakan sebagai respons terhadap peristiwa onHeadersReceived. Jika ditetapkan, server akan dianggap telah merespons dengan header respons ini. Hanya tampilkan responseHeaders jika Anda benar-benar ingin mengubah header untuk membatasi jumlah konflik (hanya satu ekstensi yang dapat mengubah responseHeaders untuk setiap permintaan).

FormDataItem

Chrome 66+

Berisi data yang diteruskan dalam data formulir. Untuk formulir berenkode URL, data disimpan sebagai string jika data berupa string utf-8 dan sebagai ArrayBuffer jika tidak. Untuk form-data, jenisnya adalah ArrayBuffer. Jika form-data mewakili file yang diupload, form-data tersebut adalah string dengan nama file, jika nama file diberikan.

Enum

ArrayBuffer

string

HttpHeaders

Array header HTTP. Setiap header direpresentasikan sebagai kamus yang berisi kunci name dan value atau binaryValue.

Jenis

object[]

Properti

  • binaryValue

    number[] opsional

    Nilai header HTTP jika tidak dapat direpresentasikan oleh UTF-8, disimpan sebagai nilai byte individual (0..255).

  • nama

    string

    Nama header HTTP.

  • nilai

    string opsional

    Nilai header HTTP jika dapat direpresentasikan oleh UTF-8.

IgnoredActionType

Chrome 70+

Enum

"redirect"

"request_headers"

"response_headers"

"auth_credentials"

OnAuthRequiredOptions

Chrome 44+

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 Berbagi Resource Lintas Origin (CORS).

OnBeforeRedirectOptions

Chrome 44+

Enum

"responseHeaders"
Menentukan bahwa header respons harus disertakan dalam peristiwa.

"extraHeaders"
Menentukan bahwa header dapat melanggar Berbagi Resource Lintas Origin (CORS).

OnBeforeRequestOptions

Chrome 44+

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 Berbagi Resource Lintas Origin (CORS).

OnBeforeSendHeadersOptions

Chrome 44+

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 Berbagi Resource Lintas Origin (CORS).

OnCompletedOptions

Chrome 44+

Enum

"responseHeaders"
Menentukan bahwa header respons harus disertakan dalam peristiwa.

"extraHeaders"
Menentukan bahwa header dapat melanggar Berbagi Resource Lintas Origin (CORS).

OnErrorOccurredOptions

Chrome 79+

Nilai

"extraHeaders"

OnHeadersReceivedOptions

Chrome 44+

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 Berbagi Resource Lintas Origin (CORS).

"securityInfo"
Menentukan bahwa SecurityInfo harus disertakan dalam peristiwa.

"securityInfoRawDer"
Menentukan bahwa SecurityInfo dengan byte mentah sertifikat harus disertakan dalam peristiwa.

OnResponseStartedOptions

Chrome 44+

Enum

"responseHeaders"
Menentukan bahwa header respons harus disertakan dalam peristiwa.

"extraHeaders"
Menentukan bahwa header dapat melanggar Berbagi Resource Lintas Origin (CORS).

OnSendHeadersOptions

Chrome 44+

Enum

"requestHeaders"
Menentukan bahwa header permintaan harus disertakan dalam peristiwa.

"extraHeaders"
Menentukan bahwa header dapat melanggar Berbagi Resource Lintas Origin (CORS).

RequestFilter

Objek yang menjelaskan filter yang akan diterapkan ke peristiwa webRequest.

Properti

  • tabId

    number opsional

  • tipe

    ResourceType[] opsional

    Daftar jenis permintaan. Permintaan yang tidak dapat dicocokkan dengan jenis apa pun akan difilter.

  • Url

    string[]

    Daftar URL atau pola URL. Permintaan yang tidak dapat dicocokkan dengan URL mana pun akan difilter.

  • windowId

    number opsional

ResourceType

Chrome 44+

Enum

"main_frame"
Menentukan resource sebagai frame utama.

"sub_frame"
Menentukan resource sebagai subframe.

"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.

"other"
Menentukan fasilitas sebagai jenis yang tidak disertakan dalam jenis yang tercantum.

SecurityInfo

Chrome 144+

Properti

  • sertifikat

    object[]

    Daftar sertifikat

    • sidik jari

      objek

      Sidik jari sertifikat.

      • sha256

        string

        Sidik jari sha256 sertifikat.

    • rawDER

      ArrayBuffer opsional

      Byte mentah sertifikat server yang dienkode DER

  • dengan status tersembunyi akhir

    string

    Status koneksi. Salah satu dari aman, tidak aman, rusak.

UploadData

Berisi data yang diupload dalam permintaan URL.

Properti

  • byte

    opsional apa pun

    ArrayBuffer dengan salinan data.

  • file

    string opsional

    String dengan jalur dan nama file.

Properti

MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES

Frekuensi maksimum handlerBehaviorChanged dapat dipanggil per interval berkelanjutan 10 menit. handlerBehaviorChanged adalah panggilan fungsi yang mahal dan tidak boleh sering dipanggil.

Nilai

20

Metode

handlerBehaviorChanged()

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

Perlu dipanggil saat perilaku pengendali webRequest telah berubah untuk mencegah penanganan yang salah karena penyimpanan dalam cache. Panggilan fungsi ini mahal. Jangan sering memanggilnya.

Parameter

  • callback

    fungsi opsional

    Parameter callback terlihat seperti:

    () => void

Hasil

  • Promise<void>

    Chrome 116+

    Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain harus menggunakan callback.

Acara

onActionIgnored

Chrome 70+
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

  • callback

    fungsi

    Parameter callback terlihat seperti:

    (details: object) => void

    • detail

      objek

      • Tindakan yang diajukan yang diabaikan.

      • requestId

        string

        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. Pemroses 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 bahwa hanya salah satu mode 'blocking' atau 'asyncBlocking' yang harus ditentukan dalam parameter extraInfoSpec.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti:

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

    • detail

      objek

      • penantang

        objek

        Server yang meminta autentikasi.

        • host

          string

        • port

          angka

      • documentId

        string opsional

        Chrome 106+

        UUID dokumen yang membuat permintaan.

      • Chrome 106+

        Siklus proses dokumen.

      • frameId

        angka

        Nilai 0 menunjukkan bahwa permintaan terjadi di frame utama; nilai positif menunjukkan ID subframe tempat permintaan terjadi. Jika dokumen (sub-)frame dimuat (type adalah main_frame atau sub_frame), frameId menunjukkan ID frame ini, bukan ID frame luar. ID frame bersifat unik dalam tab.

      • Chrome 106+

        Jenis frame tempat permintaan terjadi.

      • inisiator

        string opsional

        Chrome 63+

        Origin tempat permintaan dimulai. Hal ini tidak berubah melalui pengalihan. Jika ini adalah origin buram, string 'null' akan digunakan.

      • isProxy

        boolean

        True untuk Proxy-Authenticate, false untuk WWW-Authenticate.

      • metode

        string

        Metode HTTP standar.

      • parentDocumentId

        string opsional

        Chrome 106+

        UUID dokumen induk yang memiliki frame ini. Ini tidak ditetapkan jika tidak ada induk.

      • parentFrameId

        angka

        ID frame yang menggabungkan frame yang mengirim permintaan. Tetapkan ke -1 jika tidak ada frame induk.

      • realm

        string opsional

        Realm autentikasi yang disediakan oleh server, jika ada.

      • requestId

        string

        ID permintaan. ID permintaan bersifat unik dalam sesi browser. Oleh karena itu, ID ini dapat digunakan untuk menghubungkan berbagai peristiwa dari permintaan yang sama.

      • responseHeaders

        HttpHeaders opsional

        Header respons HTTP yang diterima bersama dengan respons ini.

      • skema

        string

        Skema autentikasi, misalnya Basic atau Digest.

      • statusCode

        angka

        Chrome 43+

        Kode status HTTP standar yang ditampilkan oleh server.

      • statusLine

        string

        Baris status HTTP dari 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.

      • tabId

        angka

        ID tab tempat permintaan dilakukan. Tetapkan ke -1 jika permintaan tidak terkait dengan tab.

      • timeStamp

        angka

        Waktu saat sinyal ini dipicu, dalam milidetik sejak epoch.

      • jenis

        Cara penggunaan resource yang diminta.

      • url

        string

    • asyncCallback

      fungsi opsional

      Chrome 58+

      Parameter asyncCallback terlihat seperti:

      (response: BlockingResponse) => void

    • return

      BlockingResponse | undefined

      Jika "blocking" ditentukan dalam parameter "extraInfoSpec", pemroses peristiwa harus menampilkan objek jenis ini.

  • filter
  • extraInfoSpec

onBeforeRedirect

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

Diaktifkan saat pengalihan yang dimulai server akan terjadi.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti:

    (details: object) => void

    • detail

      objek

      • documentId

        string opsional

        Chrome 106+

        UUID dokumen yang membuat permintaan.

      • Chrome 106+

        Siklus proses dokumen.

      • frameId

        angka

        Nilai 0 menunjukkan bahwa permintaan terjadi di frame utama; nilai positif menunjukkan ID subframe tempat permintaan terjadi. Jika dokumen (sub-)frame dimuat (type adalah main_frame atau sub_frame), frameId menunjukkan ID frame ini, bukan ID frame luar. ID frame bersifat unik dalam tab.

      • Chrome 106+

        Jenis frame tempat permintaan terjadi.

      • fromCache

        boolean

        Menunjukkan apakah respons ini diambil dari cache disk.

      • inisiator

        string opsional

        Chrome 63+

        Origin tempat permintaan dimulai. Hal ini tidak berubah melalui pengalihan. Jika ini adalah origin buram, string 'null' akan digunakan.

      • ip

        string opsional

        Alamat IP server yang sebenarnya menerima permintaan. Perhatikan bahwa alamat tersebut mungkin berupa alamat IPv6 literal.

      • metode

        string

        Metode HTTP standar.

      • parentDocumentId

        string opsional

        Chrome 106+

        UUID dokumen induk yang memiliki frame ini. Ini tidak ditetapkan jika tidak ada induk.

      • parentFrameId

        angka

        ID frame yang menggabungkan frame yang mengirim permintaan. Tetapkan ke -1 jika tidak ada frame induk.

      • redirectUrl

        string

        URL baru.

      • requestId

        string

        ID permintaan. ID permintaan bersifat unik dalam sesi browser. Oleh karena itu, ID ini dapat digunakan untuk menghubungkan berbagai peristiwa dari permintaan yang sama.

      • responseHeaders

        HttpHeaders opsional

        Header respons HTTP yang diterima bersama dengan pengalihan ini.

      • statusCode

        angka

        Kode status HTTP standar yang ditampilkan oleh server.

      • statusLine

        string

        Baris status HTTP dari 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.

      • tabId

        angka

        ID tab tempat permintaan dilakukan. Tetapkan ke -1 jika permintaan tidak terkait dengan tab.

      • timeStamp

        angka

        Waktu saat sinyal ini dipicu, dalam milidetik sejak epoch.

      • jenis

        Cara penggunaan resource yang diminta.

      • url

        string

  • filter
  • extraInfoSpec

onBeforeRequest

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

Diaktifkan saat permintaan akan terjadi.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti:

    (details: object) => BlockingResponse | undefined

    • detail

      objek

      • documentId

        string opsional

        Chrome 106+

        UUID dokumen yang membuat permintaan.

      • documentLifecycle
        Chrome 106+

        Siklus proses dokumen.

      • frameId

        angka

        Nilai 0 menunjukkan bahwa permintaan terjadi di frame utama; nilai positif menunjukkan ID subframe tempat permintaan terjadi. Jika dokumen (sub-)frame dimuat (type adalah main_frame atau sub_frame), frameId menunjukkan ID frame ini, bukan ID frame luar. ID frame bersifat unik dalam tab.

      • frameType
        Chrome 106+

        Jenis frame tempat permintaan terjadi.

      • inisiator

        string opsional

        Chrome 63+

        Origin tempat permintaan dimulai. Hal ini tidak berubah melalui pengalihan. Jika ini adalah origin buram, string 'null' akan digunakan.

      • metode

        string

        Metode HTTP standar.

      • parentDocumentId

        string opsional

        Chrome 106+

        UUID dokumen induk yang memiliki frame ini. Ini tidak ditetapkan jika tidak ada induk.

      • parentFrameId

        angka

        ID frame yang menggabungkan frame yang mengirim permintaan. Tetapkan ke -1 jika tidak ada frame induk.

      • requestBody

        objek opsional

        Berisi data isi permintaan HTTP. Hanya diberikan jika extraInfoSpec berisi 'requestBody'.

        • error

          string opsional

          Error saat mendapatkan data isi permintaan.

        • formData

          objek opsional

          Jika metode permintaan adalah POST dan isi adalah urutan key-value pair 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 formatnya salah, kamus tidak akan ada. Contoh nilai kamus ini adalah {'key': ['value1', 'value2']}.

        • raw

          UploadData[] opsional

          Jika metode permintaan adalah PUT atau POST, dan isi belum diurai di formData, elemen isi permintaan yang belum diurai akan dimuat dalam array ini.

      • requestId

        string

        ID permintaan. ID permintaan bersifat unik dalam sesi browser. Oleh karena itu, ID ini dapat digunakan untuk menghubungkan berbagai peristiwa dari permintaan yang sama.

      • tabId

        angka

        ID tab tempat permintaan dilakukan. Tetapkan ke -1 jika permintaan tidak terkait dengan tab.

      • timeStamp

        angka

        Waktu saat sinyal ini dipicu, dalam milidetik sejak epoch.

      • jenis

        Cara penggunaan resource yang diminta.

      • url

        string

    • return

      BlockingResponse | undefined

      Jika "blocking" ditentukan dalam parameter "extraInfoSpec", pemroses peristiwa harus menampilkan objek jenis ini.

  • filter
  • extraInfoSpec

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

  • callback

    fungsi

    Parameter callback terlihat seperti:

    (details: object) => BlockingResponse | undefined

    • detail

      objek

      • documentId

        string opsional

        Chrome 106+

        UUID dokumen yang membuat permintaan.

      • Chrome 106+

        Siklus proses dokumen.

      • frameId

        angka

        Nilai 0 menunjukkan bahwa permintaan terjadi di frame utama; nilai positif menunjukkan ID subframe tempat permintaan terjadi. Jika dokumen (sub-)frame dimuat (type adalah main_frame atau sub_frame), frameId menunjukkan ID frame ini, bukan ID frame luar. ID frame bersifat unik dalam tab.

      • Chrome 106+

        Jenis frame tempat permintaan terjadi.

      • inisiator

        string opsional

        Chrome 63+

        Origin tempat permintaan dimulai. Hal ini tidak berubah melalui pengalihan. Jika ini adalah origin buram, string 'null' akan digunakan.

      • metode

        string

        Metode HTTP standar.

      • parentDocumentId

        string opsional

        Chrome 106+

        UUID dokumen induk yang memiliki frame ini. Ini tidak ditetapkan jika tidak ada induk.

      • parentFrameId

        angka

        ID frame yang menggabungkan frame yang mengirim permintaan. Tetapkan ke -1 jika tidak ada frame induk.

      • requestHeaders

        HttpHeaders opsional

        Header permintaan HTTP yang akan dikirim bersama permintaan ini.

      • requestId

        string

        ID permintaan. ID permintaan bersifat unik dalam sesi browser. Oleh karena itu, ID ini dapat digunakan untuk menghubungkan berbagai peristiwa dari permintaan yang sama.

      • tabId

        angka

        ID tab tempat permintaan dilakukan. Tetapkan ke -1 jika permintaan tidak terkait dengan tab.

      • timeStamp

        angka

        Waktu saat sinyal ini dipicu, dalam milidetik sejak epoch.

      • jenis

        Cara penggunaan resource yang diminta.

      • url

        string

    • return

      BlockingResponse | undefined

      Jika "blocking" ditentukan dalam parameter "extraInfoSpec", pemroses peristiwa harus menampilkan objek jenis ini.

  • filter
  • extraInfoSpec

onCompleted

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

Diaktifkan saat permintaan selesai.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti:

    (details: object) => void

    • detail

      objek

      • documentId

        string opsional

        Chrome 106+

        UUID dokumen yang membuat permintaan.

      • Chrome 106+

        Siklus proses dokumen.

      • frameId

        angka

        Nilai 0 menunjukkan bahwa permintaan terjadi di frame utama; nilai positif menunjukkan ID subframe tempat permintaan terjadi. Jika dokumen (sub-)frame dimuat (type adalah main_frame atau sub_frame), frameId menunjukkan ID frame ini, bukan ID frame luar. ID frame bersifat unik dalam tab.

      • Chrome 106+

        Jenis frame tempat permintaan terjadi.

      • fromCache

        boolean

        Menunjukkan apakah respons ini diambil dari cache disk.

      • inisiator

        string opsional

        Chrome 63+

        Origin tempat permintaan dimulai. Hal ini tidak berubah melalui pengalihan. Jika ini adalah origin buram, string 'null' akan digunakan.

      • ip

        string opsional

        Alamat IP server yang sebenarnya menerima permintaan. Perhatikan bahwa alamat tersebut mungkin berupa alamat IPv6 literal.

      • metode

        string

        Metode HTTP standar.

      • parentDocumentId

        string opsional

        Chrome 106+

        UUID dokumen induk yang memiliki frame ini. Ini tidak ditetapkan jika tidak ada induk.

      • parentFrameId

        angka

        ID frame yang menggabungkan frame yang mengirim permintaan. Tetapkan ke -1 jika tidak ada frame induk.

      • requestId

        string

        ID permintaan. ID permintaan bersifat unik dalam sesi browser. Oleh karena itu, ID ini dapat digunakan untuk menghubungkan berbagai peristiwa dari permintaan yang sama.

      • responseHeaders

        HttpHeaders opsional

        Header respons HTTP yang diterima bersama dengan respons ini.

      • statusCode

        angka

        Kode status HTTP standar yang ditampilkan oleh server.

      • statusLine

        string

        Baris status HTTP dari 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.

      • tabId

        angka

        ID tab tempat permintaan dilakukan. Tetapkan ke -1 jika permintaan tidak terkait dengan tab.

      • timeStamp

        angka

        Waktu saat sinyal ini dipicu, dalam milidetik sejak epoch.

      • jenis

        Cara penggunaan resource yang diminta.

      • url

        string

  • filter
  • extraInfoSpec

    OnCompletedOptions[] opsional

onErrorOccurred

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

Diaktifkan saat terjadi error.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti:

    (details: object) => void

    • detail

      objek

      • documentId

        string opsional

        Chrome 106+

        UUID dokumen yang membuat permintaan. Nilai ini tidak ada jika permintaan adalah navigasi frame.

      • Chrome 106+

        Siklus proses dokumen.

      • error

        string

        Deskripsi error. String ini tidak dijamin akan tetap kompatibel dengan versi lama di antara rilis. Anda tidak boleh mengurai dan bertindak berdasarkan kontennya.

      • frameId

        angka

        Nilai 0 menunjukkan bahwa permintaan terjadi di frame utama; nilai positif menunjukkan ID subframe tempat permintaan terjadi. Jika dokumen (sub-)frame dimuat (type adalah main_frame atau sub_frame), frameId menunjukkan ID frame ini, bukan ID frame luar. ID frame bersifat unik dalam tab.

      • Chrome 106+

        Jenis frame tempat permintaan terjadi.

      • fromCache

        boolean

        Menunjukkan apakah respons ini diambil dari cache disk.

      • inisiator

        string opsional

        Chrome 63+

        Origin tempat permintaan dimulai. Hal ini tidak berubah melalui pengalihan. Jika ini adalah origin buram, string 'null' akan digunakan.

      • ip

        string opsional

        Alamat IP server yang sebenarnya menerima permintaan. Perhatikan bahwa alamat tersebut mungkin berupa alamat IPv6 literal.

      • metode

        string

        Metode HTTP standar.

      • parentDocumentId

        string opsional

        Chrome 106+

        UUID dokumen induk yang memiliki frame ini. Ini tidak ditetapkan jika tidak ada induk.

      • parentFrameId

        angka

        ID frame yang menggabungkan frame yang mengirim permintaan. Tetapkan ke -1 jika tidak ada frame induk.

      • requestId

        string

        ID permintaan. ID permintaan bersifat unik dalam sesi browser. Oleh karena itu, ID ini dapat digunakan untuk menghubungkan berbagai peristiwa dari permintaan yang sama.

      • tabId

        angka

        ID tab tempat permintaan dilakukan. Tetapkan ke -1 jika permintaan tidak terkait dengan tab.

      • timeStamp

        angka

        Waktu saat sinyal ini dipicu, dalam milidetik sejak epoch.

      • jenis

        Cara penggunaan resource yang diminta.

      • url

        string

  • filter
  • extraInfoSpec

onHeadersReceived

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

Diaktifkan saat header respons HTTP dari permintaan telah diterima.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti:

    (details: object) => BlockingResponse | undefined

    • detail

      objek

      • documentId

        string opsional

        Chrome 106+

        UUID dokumen yang membuat permintaan.

      • Chrome 106+

        Siklus proses dokumen.

      • frameId

        angka

        Nilai 0 menunjukkan bahwa permintaan terjadi di frame utama; nilai positif menunjukkan ID subframe tempat permintaan terjadi. Jika dokumen (sub-)frame dimuat (type adalah main_frame atau sub_frame), frameId menunjukkan ID frame ini, bukan ID frame luar. ID frame bersifat unik dalam tab.

      • Chrome 106+

        Jenis frame tempat permintaan terjadi.

      • inisiator

        string opsional

        Chrome 63+

        Origin tempat permintaan dimulai. Hal ini tidak berubah melalui pengalihan. Jika ini adalah origin buram, string 'null' akan digunakan.

      • metode

        string

        Metode HTTP standar.

      • parentDocumentId

        string opsional

        Chrome 106+

        UUID dokumen induk yang memiliki frame ini. Ini tidak ditetapkan jika tidak ada induk.

      • parentFrameId

        angka

        ID frame yang menggabungkan frame yang mengirim permintaan. Tetapkan ke -1 jika tidak ada frame induk.

      • requestId

        string

        ID permintaan. ID permintaan bersifat unik dalam sesi browser. Oleh karena itu, ID ini dapat digunakan untuk menghubungkan berbagai peristiwa dari permintaan yang sama.

      • responseHeaders

        HttpHeaders opsional

        Header respons HTTP yang telah diterima dengan respons ini.

      • securityInfo

        SecurityInfo opsional

        Chrome 144+

        Informasi tentang koneksi TLS/QUIC yang digunakan untuk koneksi yang mendasarinya. Hanya diberikan jika securityInfo ditentukan dalam parameter extraInfoSpec.

      • statusCode

        angka

        Chrome 43+

        Kode status HTTP standar yang ditampilkan oleh server.

      • statusLine

        string

        Baris status HTTP dari respons atau string 'HTTP/0.9 200 OK' untuk respons HTTP/0.9 (yaitu, respons yang tidak memiliki baris status).

      • tabId

        angka

        ID tab tempat permintaan dilakukan. Tetapkan ke -1 jika permintaan tidak terkait dengan tab.

      • timeStamp

        angka

        Waktu saat sinyal ini dipicu, dalam milidetik sejak epoch.

      • jenis

        Cara penggunaan resource yang diminta.

      • url

        string

    • return

      BlockingResponse | undefined

      Jika "blocking" ditentukan dalam parameter "extraInfoSpec", pemroses peristiwa harus menampilkan objek jenis ini.

  • filter
  • extraInfoSpec

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

  • callback

    fungsi

    Parameter callback terlihat seperti:

    (details: object) => void

    • detail

      objek

      • documentId

        string opsional

        Chrome 106+

        UUID dokumen yang membuat permintaan.

      • Chrome 106+

        Siklus proses dokumen.

      • frameId

        angka

        Nilai 0 menunjukkan bahwa permintaan terjadi di frame utama; nilai positif menunjukkan ID subframe tempat permintaan terjadi. Jika dokumen (sub-)frame dimuat (type adalah main_frame atau sub_frame), frameId menunjukkan ID frame ini, bukan ID frame luar. ID frame bersifat unik dalam tab.

      • Chrome 106+

        Jenis frame tempat permintaan terjadi.

      • fromCache

        boolean

        Menunjukkan apakah respons ini diambil dari cache disk.

      • inisiator

        string opsional

        Chrome 63+

        Origin tempat permintaan dimulai. Hal ini tidak berubah melalui pengalihan. Jika ini adalah origin buram, string 'null' akan digunakan.

      • ip

        string opsional

        Alamat IP server yang sebenarnya menerima permintaan. Perhatikan bahwa alamat tersebut mungkin berupa alamat IPv6 literal.

      • metode

        string

        Metode HTTP standar.

      • parentDocumentId

        string opsional

        Chrome 106+

        UUID dokumen induk yang memiliki frame ini. Ini tidak ditetapkan jika tidak ada induk.

      • parentFrameId

        angka

        ID frame yang menggabungkan frame yang mengirim permintaan. Tetapkan ke -1 jika tidak ada frame induk.

      • requestId

        string

        ID permintaan. ID permintaan bersifat unik dalam sesi browser. Oleh karena itu, ID ini dapat digunakan untuk menghubungkan berbagai peristiwa dari permintaan yang sama.

      • responseHeaders

        HttpHeaders opsional

        Header respons HTTP yang diterima bersama dengan respons ini.

      • statusCode

        angka

        Kode status HTTP standar yang ditampilkan oleh server.

      • statusLine

        string

        Baris status HTTP dari 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.

      • tabId

        angka

        ID tab tempat permintaan dilakukan. Tetapkan ke -1 jika permintaan tidak terkait dengan tab.

      • timeStamp

        angka

        Waktu saat sinyal ini dipicu, dalam milidetik sejak epoch.

      • jenis

        Cara penggunaan resource yang diminta.

      • url

        string

  • filter
  • extraInfoSpec

onSendHeaders

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

Diaktifkan tepat sebelum permintaan akan dikirim ke server (modifikasi callback onBeforeSendHeaders sebelumnya terlihat pada saat onSendHeaders diaktifkan).

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti:

    (details: object) => void

    • detail

      objek

      • documentId

        string opsional

        Chrome 106+

        UUID dokumen yang membuat permintaan.

      • Chrome 106+

        Siklus proses dokumen.

      • frameId

        angka

        Nilai 0 menunjukkan bahwa permintaan terjadi di frame utama; nilai positif menunjukkan ID subframe tempat permintaan terjadi. Jika dokumen (sub-)frame dimuat (type adalah main_frame atau sub_frame), frameId menunjukkan ID frame ini, bukan ID frame luar. ID frame bersifat unik dalam tab.

      • Chrome 106+

        Jenis frame tempat permintaan terjadi.

      • inisiator

        string opsional

        Chrome 63+

        Origin tempat permintaan dimulai. Hal ini tidak berubah melalui pengalihan. Jika ini adalah origin buram, string 'null' akan digunakan.

      • metode

        string

        Metode HTTP standar.

      • parentDocumentId

        string opsional

        Chrome 106+

        UUID dokumen induk yang memiliki frame ini. Ini tidak ditetapkan jika tidak ada induk.

      • parentFrameId

        angka

        ID frame yang menggabungkan frame yang mengirim permintaan. Tetapkan ke -1 jika tidak ada frame induk.

      • requestHeaders

        HttpHeaders opsional

        Header permintaan HTTP yang telah dikirim bersama permintaan ini.

      • requestId

        string

        ID permintaan. ID permintaan bersifat unik dalam sesi browser. Oleh karena itu, ID ini dapat digunakan untuk menghubungkan berbagai peristiwa dari permintaan yang sama.

      • tabId

        angka

        ID tab tempat permintaan dilakukan. Tetapkan ke -1 jika permintaan tidak terkait dengan tab.

      • timeStamp

        angka

        Waktu saat sinyal ini dipicu, dalam milidetik sejak epoch.

      • jenis

        Cara penggunaan resource yang diminta.

      • url

        string

  • filter
  • extraInfoSpec