All Products
Search
Document Center

:FAQ tentang operasi Fetch

Last Updated:Aug 06, 2025

Topik ini menjawab beberapa pertanyaan umum terkait API Fetch yang didukung oleh Rutin Tepi (ER).

Apakah Fetch mendukung dekompresi?

Secara default, dekompresi otomatis diaktifkan pada Fetch. Fetch mendukung metode dekompresi berikut:

  • decompress: metode default. Metode ini membaca header respons content-encoding dan menggunakan algoritma dekompresi sesuai nilai paling kanan, tidak termasuk Identity. Sebagai contoh, dalam content-encoding: gzip, identity, gzip adalah algoritma dekompresi. Jika Anda menghapus nilai ini dari header respons, skenario berikut terjadi:

    • content-encoding: identity, gzip adalah header respons yang diambil. content-encoding: identity adalah header respons setelah gzip dihapus.

    • content-encoding: gzip adalah header respons yang diambil. content-encoding adalah header respons setelah gzip dihapus.

    Catatan

    Setelah algoritma dekompresi dihapus dari header respons, data menjadi terlihat. Skenario serupa terjadi ketika server asal mengembalikan data tanpa menggunakan Gzip untuk menekan data. Jika ER tidak dapat mengenali algoritma, ER akan melempar pengecualian. ER hanya mendukung Gzip. Brotli mungkin didukung di versi mendatang.

  • fallbackIdentity: mirip dengan metode decompress. ER tidak melempar pengecualian jika data gagal didekompresi. Sebaliknya, ER memperlakukan nilai algoritma sebagai identitas. Dalam hal ini, tidak ada pengecualian yang dilemparkan karena data yang diambil telah didekompresi. Anda tidak dapat membaca data tanpa dekompresi.

  • manual: tidak mendekompresi data.

Anda dapat menggunakan metode berikut untuk mengonfigurasi kebijakan dekompresi secara manual pada Fetch:

  • fetch(url, {decompress: "manual"})

  • fetch(url, {decompress: "fallbackIdentity"})

Berapa jumlah maksimum subpermintaan yang didukung oleh Fetch?

Jumlah maksimum subpermintaan yang didukung oleh Fetch adalah 32. Ini mencakup semua konteks, yang sama dengan konteks seluruh permintaan yang ditangkap pada titik kehadiran (POPs). Jumlah maksimum subpermintaan untuk pengalihan 3xx atau panggilan API Cache juga 32. Untuk meminta peningkatan kuota, ajukan Tiket.

Apakah ER dapat mengenali URL yang tidak valid?

ER tidak dapat mengenali URL yang tidak valid. Jika URL berisi karakter yang tidak valid, ER akan memberi tahu bahwa data dikodekan dengan salah. Pastikan bahwa URL Anda valid.

Berapa jumlah maksimum koneksi yang didukung oleh kumpulan koneksi?

ER menyediakan kumpulan koneksi untuk Fetch jika semua koneksi digunakan oleh TCP atau handshake SSL. Secara default, kumpulan koneksi mendukung hingga 128 koneksi. Ketika jumlah koneksi mencapai 128, kumpulan koneksi berhenti menyimpan koneksi. Jika Anda ingin membuat koneksi tambahan, Anda dapat meminta peningkatan kuota.

Kumpulan koneksi dibuat per pengguna, bukan per permintaan. Jika tidak ada koneksi yang tersedia dalam kumpulan koneksi, ER mencoba membuat koneksi baru. ER menyimpan koneksi hanya setelah seluruh badan respons diterima.

Kode berikut memastikan bahwa seluruh badan respons diterima setelah diambil:

async function fetchAndIgnore(url, options) {
  let response = await fetch(url, options);
  // Metode ini memaksa ER untuk mengabaikan badan respons dan memastikan bahwa seluruh badan respons diterima.
  await response.ignore();
}