Range origin fetch memungkinkan titik kehadiran (POP) CDN menyertakan header Range dalam permintaan asal sehingga server origin hanya mengembalikan bagian tertentu dari sebuah resource. Fitur ini meningkatkan efisiensi pengiriman file, mengurangi lalu lintas kembali ke asal, menurunkan beban pada server origin, dan mempercepat waktu respons.
Latar Belakang
Header HTTP Range menentukan bagian mana dari sebuah resource yang akan diambil. Misalnya, Range: bytes=0-100 meminta 101 byte pertama dari sebuah file.
Setelah Anda mengaktifkan range origin fetch, ketika POP menerima permintaan untuk resource yang tidak tersedia dalam cache atau telah kedaluwarsa, POP tersebut hanya mengambil segmen yang diperlukan dari server origin menggunakan permintaan Range dan menyimpannya dalam cache lokal.
Cara kerja range origin fetch:
Catatan Penggunaan
Sebelum mengaktifkan range origin fetch:
Pastikan server origin Anda mendukung permintaan Range dan dapat memberikan respons
206 Partial Content. Jika tidak, mengaktifkan fitur ini dapat menyebabkan masalah caching atau kegagalan permintaan.Range origin fetch dinonaktifkan secara default.
Multipart Ranges dinonaktifkan secara default dan tidak diaktifkan oleh range origin fetch. Untuk mengaktifkannya, submit a ticket.
Mengaktifkan range origin fetch meningkatkan QPS pengambilan asal, yang dapat memicu pembatasan laju pada server origin Anda. Untuk menghindarinya, panggil operasi DescribeL2VipsByDomain untuk mengambil alamat IP POP pengambilan asal dan tambahkan ke daftar izin IP server origin Anda.
Kasus penggunaan untuk large files
CDN mendukung progressive streaming untuk large files seperti MP4. Perilaku ini bergantung pada dukungan permintaan Range oleh server origin Anda dan mode pengambilan asal yang dikonfigurasi di Konsol CDN:
Skenario 1: Server origin mendukung permintaan Range dan range origin fetch diaktifkan
Ketika client mengirim permintaan Range dan range origin fetch diaktifkan, POP hanya mengambil rentang data yang diminta dari server origin dan mengembalikannya ke client. POP tidak menunggu seluruh file selesai diunduh. Progressive streaming didukung.
Skenario 2: Client tidak mengirim permintaan Range
Jika client meminta file lengkap tanpa header Range, POP meminta file lengkap dari origin dan mengalirkannya ke client. Karena data diteruskan saat diterima, client dapat langsung memulai pemutaran (asalkan atom moov MP4 berada di header file), tetapi tidak dapat melakukan seek ke posisi yang belum diunduh. Dalam skenario ini, konfigurasi range origin fetch tidak memengaruhi perilaku transfer di sisi client.
Skenario 3: Server origin tidak mendukung permintaan Range
Jika server origin tidak mendukung permintaan Range dan tidak dapat memberikan respons 206, range origin fetch tidak berpengaruh meskipun diaktifkan. POP akan mengambil file lengkap sebagai gantinya. Pastikan server origin Anda mendukung permintaan Range sebelum mengaktifkan fitur ini.
Format seperti MP4 mendukung streaming, tetapi transport HTTP yang mendasarinya harus mendukung permintaan Range. Pastikan server origin Anda mendukung permintaan Range dan pilih mode pengambilan asal yang sesuai dengan kebutuhan Anda.
Prosedur
-
Login ke CDN console.
-
Di panel navigasi kiri, klik Domain Names.
-
Pada halaman Domain Names, temukan nama domain target dan klik Manage di kolom Actions.
-
Di panel navigasi domain, klik Video.
Di bagian Range Origin Fetch, klik Modify.
Berdasarkan tabel berikut, pilih Do Not Enable Range Origin Fetch, Match Client, atau Enable Range Origin Fetch (Recommended for Large File Delivery).
Jika Anda memilih Match Client atau Enable Range Origin Fetch (Recommended for Large File Delivery), Anda dapat mengatur ukuran shard. Ukuran shard default adalah 512 KB.
Parameter
Option
Description
Example
Range Origin Fetch
Do Not Enable Range Origin Fetch
Secara default, Do Not Enable Range Origin Fetch dipilih, artinya terlepas dari apakah client mengirim permintaan Range ke POP CDN, POP CDN meminta seluruh file selama pengambilan asal, sehingga menghasilkan efisiensi distribusi file yang rendah untuk large files.
Misalnya, jika permintaan dari client ke POP CDN berisi
Range: bytes=0-100, POP CDN mengirim permintaan ke server origin tanpa parameter Range. Server origin mengirim seluruh file ke POP CDN. Misalnya, jika file berukuran 10 MB, server origin mengirim file 10 MB tersebut ke POP CDN. POP CDN menyimpan cache file yang diterima dari server origin, lalu merespons client dengan konten untuk permintaanRange: bytes=0-100.Match Client
Setelah Anda mengaktifkan Match Client, jika client mengirim permintaan Range ke POP CDN, POP CDN melakukan pengambilan asal menggunakan permintaan Range. Untuk permintaan pengambilan asal pertama, POP CDN meminta blok data dari server origin Anda. Ukuran blok ini ditentukan dengan membulatkan ukuran rentang dari permintaan client ke kelipatan bilangan bulat terdekat dari ukuran shard. Semua permintaan pengambilan asal berikutnya menggunakan ukuran shard yang Anda tentukan.
Misalnya, ketika ukuran shard adalah 512 KB, jika client mengirim permintaan ke POP CDN yang berisi
Range:bytes=0-614399(yaitu 600 KB), dan file tersebut tidak tersedia dalam cache POP CDN, pengambilan asal pertama mengambil shard 1024 KB (600 KB dibulatkan ke atas menjadi 1024 KB). Untuk permintaan berikutnya terhadap shard lain yang belum di-cache, POP CDN mengakses server origin menggunakan ukuran shard 512 KB.Enable Range Origin Fetch (Recommended for Large File Delivery)
Setelah Enable Range Origin Fetch (Recommended for Large File Delivery) diaktifkan, terlepas dari apakah client mengirim permintaan Range ke POP CDN, POP CDN selalu menggunakan permintaan Range untuk pengambilan asal. Semua permintaan Range yang dikirim dari POP CDN ke server origin menggunakan ukuran shard yang Anda tentukan.
None
Shard Size
512 KB
1 MB
2 MB
4 MB
Anda dapat mengatur ukuran shard jika memilih Match Client atau Enable Range Origin Fetch (Recommended for Large File Delivery). Ukuran default adalah 512 KB.
1 MB
Rule Condition
Rule condition mengevaluasi parameter permintaan untuk menentukan apakah suatu konfigurasi berlaku.
PentingKetika suatu fitur menggunakan rule condition dari rules engine, eksekusi mengikuti prioritas rule condition, bukan urutan konfigurasi fitur.
Do not use conditions: Menonaktifkan aturan kondisional.
Anda dapat menambah atau mengedit aturan kondisional di Rules engine.
Rule condition mengevaluasi parameter dalam permintaan pengguna untuk menentukan apakah konfigurasi tersebut berlaku.
Do not use
Klik OK untuk menyimpan konfigurasi.