Fitur pengalihan 301/302 mendukung kode status respons 301 dan 302 dari server origin serta menanganinya secara identik. Saat diaktifkan, titik kehadiran (POP) CDN langsung menangani respons 301/302 dari server origin, sehingga mengurangi interaksi data dan mempercepat pengambilan resource oleh pengguna.
Prasyarat
Server origin Anda menggunakan pengalihan 301/302 untuk menerapkan logika bisnisnya.
Latar Belakang
Kode status HTTP 301 atau 302 menunjukkan bahwa sebuah resource telah dipindahkan dan tidak lagi tersedia di lokasi yang diminta. Untuk menanganinya, server biasanya menyertakan header Location dalam responsnya. Ketika klien menerima respons 301/302 yang disertai header Location, klien tersebut mengirim permintaan baru ke alamat yang ditentukan dalam header tersebut guna mengambil resource tersebut.
Cara kerja
Pengalihan 301/302 berarti bahwa ketika titik kehadiran (POP) CDN menerima kode status 301/302 dari server origin sebagai respons terhadap permintaan back-to-origin, POP CDN tersebut langsung mengikuti alamat Location untuk mengambil resource tersebut, bukan mengembalikan kode status 301/302 kepada pengguna.
-
Klien meminta file
http://example.com/examplefile.txt. -
File tersebut tidak tersedia dalam cache pada titik kehadiran (POP) CDN, sehingga dikirimkan permintaan back-to-origin.
-
Server origin mengembalikan kode status 301/302 dengan header Location yang mengarah ke
http://www.example.org/examplefile.txt. -
Setelah POP CDN menerima respons dari server origin, POP tersebut mengirim permintaan ke alamat Location
http://www.example.org/examplefile.txtuntuk mengambil resource tersebut. -
Setelah titik kehadiran (POP) CDN memperoleh resource yang diperlukan, resource tersebut disimpan dalam cache pada POP CDN.
-
POP CDN mengembalikan resource yang telah diambil kepada pengguna.
Pada titik ini, jika pengguna lain meminta file http://example.com/examplefile.txt, permintaan tersebut langsung mengenai cache pada titik kehadiran (POP) CDN , dan file tersebut dikembalikan kepada pengguna.
Catatan penggunaan
Sebelum mengonfigurasi pengalihan 301/302, pastikan bahwa CDN telah dikonfigurasi dengan host origin default atau host origin spesifik:
-
Jika host origin default atau host origin spesifik tidak dikonfigurasi: Ketika server origin merespons POP CDN dengan kode status 301/302 dan URL Location, header Host pada permintaan back-to-origin akan menggunakan nama domain dari URL Location tersebut.
-
Jika host origin default dikonfigurasi: Ketika server origin merespons titik kehadiran (POP) CDN dengan kode status 301/302 dan URL Location, permintaan back-to-origin menggunakan header Host yang dikonfigurasi di CDN. Jika server origin Anda mengharuskan nama domain dalam URL Location digunakan sebagai Host back-to-origin, gunakan fitur host origin spesifik.
Header Location dalam respons dari server origin ke titik kehadiran (POP) CDN mendukung tiga format berikut:
-
Location: http://www.example.net/index.html: Titik kehadiran (POP) CDN akan menggunakan URL lengkap dari header Location. -
Location: //www.example.net/index.htmL: POP CDN akan menggabungkan protokol dari permintaan back-to-origin dengan informasi dalam headerLocationuntuk membentuk URL. -
Location: /index.html: POP CDN membentuk URL dengan menggabungkan protokol dan nama domain dari permintaan back-to-origin asli dengan nilai dalam header Location.
Prosedur
-
Masuk ke CDN console.
-
Di panel navigasi kiri, klik Domain Names.
-
Pada halaman Domain Management, temukan nama domain yang ingin Anda kelola dan klik Actions di kolom Manage.
-
Klik Origin Fetch. Pada tab Configurations, temukan bagian 301/302 Redirection dan aktifkan sakelarnya.
-
Pada kotak dialog yang muncul, konfigurasikan parameter dan klik OK.
Parameter
Deskripsi
Maximum 301/302 Redirects
Ini adalah jumlah maksimum kali POP CDN dapat mengikuti pengalihan selama satu permintaan pengguna. Jika batas ini terlampaui, POP langsung mengembalikan kode status 301 atau 302 kepada pengguna. Nilai default-nya adalah 2, dan rentang validnya adalah 1 hingga 5.
CatatanMengonfigurasi Maximum 301/302 Redirects memengaruhi jumlah maksimum permintaan back-to-origin. Jumlah maksimum permintaan back-to-origin adalah jumlah maksimum kali node CDN dapat mengakses server origin selama satu permintaan pengguna.
Rumusnya: Jumlah maksimum permintaan back-to-origin = Maximum 301/302 Redirects + 1. Nilai maksimum default-nya adalah 3, dan rentang validnya adalah 2 hingga 6.
Retain Parameters in 301/302 Redirects
-
Retain: Parameter permintaan asli dipertahankan dalam permintaan back-to-origin ke lokasi baru.
-
Do Not Retain: Parameter permintaan asli tidak dipertahankan dalam permintaan back-to-origin ke lokasi baru.
Retain Request Headers in 301/302 Redirects
-
Retain: Header permintaan asli dipertahankan dalam permintaan back-to-origin ke lokasi baru.
-
Do Not Retain: Header permintaan asli tidak dipertahankan dalam permintaan back-to-origin ke lokasi baru.
-
Contoh konfigurasi
Kasus penggunaan: Resource di server origin Anda telah dipindahkan ke lokasi baru, tetapi Anda ingin klien tetap mengaksesnya melalui nama domain asli secara transparan.
Konfigurasi: Aktifkan pengalihan 301/302 untuk nama domain example.com. Di kotak dialog 301/302 Redirection, atur Maximum 301/302 Redirects menjadi 2. Jumlah maksimum permintaan back-to-origin adalah 3. Rentang valid untuk pengalihan adalah 1 hingga 5, dan rentang valid untuk permintaan back-to-origin adalah 2 hingga 6. Pilih Do Not Retain untuk Retain Parameters in 301/302 Redirects, pilih Do Not Retain untuk Retain Request Headers in 301/302 Redirects, lalu klik OK.
Penjelasan hasil: Pengguna meminta file http://example.com/examplefile.txt. Jika file tersebut tidak tersedia dalam cache pada node CDN, node tersebut meminta resource dari server origin. Server origin mengembalikan kode status 301/302 dan URL pengalihan http://www.example.org/examplefile.txt.
-
Ketika titik kehadiran (POP) CDN menerima kode status 301 atau 302, POP tersebut mengirim permintaan ke alamat pengalihan. POP mencoba mengikuti pengalihan hingga dua kali. Jika upaya tersebut gagal, POP mengembalikan kode status 301 atau 302 kepada pengguna.
-
POP CDN mengambil resource tersebut, mengembalikannya kepada pengguna, dan menyimpannya dalam cache pada POP CDN.
-
Ketika pengguna lain meminta file tersebut kembali, CDN langsung mengembalikan resource yang telah di-cache.