Fitur pengalihan 301/302 mendukung kode status respons 301 dan 302 dari server origin dan 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 301 atau 302 adalah kode status HTTP yang 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 untuk 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, bukan mengembalikan kode status 301/302 kepada pengguna.
-
Klien meminta file
http://example.com/examplefile.txt. -
File tersebut tidak tersimpan 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 Titik Kehadiran (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 tertentu:
-
Jika host origin default atau host origin tertentu tidak dikonfigurasi: Ketika server origin merespons Titik Kehadiran (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 tertentu.
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 awal dengan nilai dalam header Location.
Prosedur
-
Masuk ke CDN console.
-
Di panel navigasi kiri, klik Domain Names.
-
Pada halaman Domain Names, temukan nama domain yang ingin Anda kelola lalu klik Manage di kolom Actions.
-
Klik Origin Fetch. Pada tab Configurations, temukan bagian 301/302 Redirection dan aktifkan sakelarnya.
-
Pada kotak dialog yang muncul, konfigurasikan parameter lalu klik OK.
Parameter
Deskripsi
Maximum 301/302 Redirects
Ini adalah jumlah maksimum kali Titik kehadiran (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 adalah 2, dan rentang yang valid 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 adalah: Jumlah maksimum permintaan back-to-origin = Maximum 301/302 Redirects + 1. Nilai maksimum default adalah 3, dan rentang yang valid adalah 2 hingga 6.
Retain Parameters in 301/302 Redirects
-
Yes: Parameter permintaan asli dipertahankan dalam permintaan back-to-origin ke lokasi baru.
-
No: Parameter permintaan asli tidak dipertahankan dalam permintaan back-to-origin ke lokasi baru.
Retain Request Headers in 301/302 Redirects
-
Yes: Header permintaan asli dipertahankan dalam permintaan back-to-origin ke lokasi baru.
-
No: Header permintaan asli tidak dipertahankan dalam permintaan back-to-origin ke lokasi baru.
-
Contoh Konfigurasi
Kasus penggunaan: Resource pada 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. Pada kotak dialog 301/302 Redirection, atur Maximum 301/302 Redirects menjadi 2. Jumlah maksimum permintaan back-to-origin adalah 3. Rentang yang valid untuk pengalihan adalah 1 hingga 5, dan rentang yang valid untuk permintaan back-to-origin adalah 2 hingga 6. Pilih No untuk Retain Parameters in 301/302 Redirects, pilih No untuk Retain Request Headers in 301/302 Redirects, lalu klik OK.
Penjelasan hasil: Seorang pengguna meminta file http://example.com/examplefile.txt. Jika file tersebut tidak tersimpan 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 percobaan 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 lagi, CDN langsung mengembalikan resource yang telah di-cache.