Ketika cache pada titik kehadiran (POP) kedaluwarsa atau terjadi cache miss, POP meminta konten terbaru dari server origin. Konten dan header HTTP yang dikembalikan oleh server origin disebut header respons origin. Anda dapat mengubah header ini di server origin untuk menentukan kebijakan cache, mengonfigurasi Cross-Origin Resource Sharing (CORS), dan lainnya. Hal ini memungkinkan Anda mengoptimalkan kecepatan pemuatan situs web, meningkatkan keamanan konten, mengontrol aksesibilitas resource, serta meningkatkan pengalaman pengguna.
Latar Belakang
Header respons HTTP adalah komponen dari respons HTTP yang membawa parameter spesifik ke klien.
Ketika konten yang diminta oleh pengguna akhir tidak di-cache pada node CDN, CDN melakukan pengambilan asal, dan server origin mengirimkan respons. Anda dapat mengubah header HTTP dalam respons inbound ini. Misalnya, Anda dapat menulis ulang nilai header Content-Type sebelum diteruskan ke klien untuk memastikan penguraian yang tepat. Jika server origin mengembalikan nilai Content-Type yang salah, klien mungkin gagal mengurai konten dengan benar. Anda dapat mengatasi masalah ini dengan menulis ulang header tersebut di CDN.
Respons inbound adalah pesan HTTP yang dikirim oleh server origin ke node CDN. Mengubah header respons inbound hanya memengaruhi pesan HTTP yang dikirim dari server origin ke node CDN; tidak memengaruhi respons yang disajikan node CDN kepada pengguna akhir.
Anda tidak dapat mengubah header respons inbound untuk domain wildcard.
Kasus Penggunaan
Berikut adalah kasus penggunaan umum beserta contohnya:
Tipe konten salah: Jika tipe konten (
Content-Type) yang dikembalikan oleh server origin tidak sesuai dengan konten aktual, klien mungkin tidak dapat menguraikannya dengan benar. Misalnya, file HTML mungkin salah ditandai sebagai teks biasa. Anda dapat mengatasi masalah ini dengan mengonfigurasi header respons origin.Contoh: Ubah
Content-Type: text/plainmenjadiContent-Type: text/html.Kontrol kebijakan cache: Jika Anda memerlukan kontrol detail halus atas kebijakan caching CDN, Anda dapat menyesuaikan bidang
Cache-ControlatauExpiresdalam header respons server origin. Hal ini membantu mengoptimalkan frekuensi pembaruan konten dan tingkat hit cache.Contoh: Ubah
Cache-Control: max-age=3600menjadiCache-Control: max-age=86400untuk memperpanjang waktu kedaluwarsa cache. Untuk informasi lebih lanjut tentang aturan cache default CDN, lihat Aturan dan Prioritas Cache Default Alibaba Cloud CDN.Cross-Origin Resource Sharing (CORS): Jika Anda ingin mengizinkan aplikasi web dari domain lain mengakses resource yang di-host di CDN, Anda harus mengonfigurasi header
Access-Control-Allow-Origindan header CORS terkait lainnya di server origin. Pengaturan ini memastikan bahwa ketika browser melakukan permintaan lintas asal, CDN dapat memberikan header respons yang sesuai kepada klien untuk mencegah error CORS. Untuk informasi lebih lanjut tentang masalah akses lintas asal, lihat Konfigurasi Cross-Origin Resource Sharing.Contoh:
Access-Control-Allow-Origin: *: Mengizinkan permintaan resource lintas asal dari semua domain.Access-Control-Allow-Methods: GET, POST, OPTIONS: Menentukan metode HTTP yang diizinkan untuk permintaan lintas asal.
Transfer terkompresi: Jika server origin mendukung transfer terkompresi tetapi belum mengaktifkannya, atau jika algoritma kompresi yang digunakan bukan yang paling efisien, Anda dapat mengatur
Accept-Encodingdalam header respons back-to-origin untuk menginstruksikan server origin menggunakan metode kompresi optimal.Contoh: Ubah
Accept-Encoding: gzip, deflatemenjadiAccept-Encoding: bruntuk memprioritaskan Kompresi Brotli. Untuk informasi lebih lanjut, lihat Kompresi Brotli.Pengalihan: Ketika server origin perlu mengalihkan pengguna ke URL lain, Anda dapat mengatur header pengalihan yang benar dalam header respons origin. Untuk informasi lebih lanjut, lihat Konfigurasi pengikutan pengalihan 301/302.
Contoh:
Location: https://www.example.com/new-page.html: Memberi tahu CDN dan browser pengguna tentang lokasi resource baru untuk Pengalihan 301 atau 302.Perilaku origin kustom: Anda mungkin perlu menambahkan header kustom ke respons untuk mengimplementasikan fungsi tertentu atau untuk tujuan pelacakan.
Catatan
Konfigurasi ganda dieksekusi dari atas ke bawah sesuai urutan kemunculannya dalam daftar konfigurasi. Efeknya bersifat kumulatif. Jika beberapa konfigurasi mengubah header yang sama, yang terakhir berlaku. Dalam contoh berikut, Konfigurasi 2 yang berlaku:
Konfigurasi 1: Tambahkan header respons HTTP:
cache-control: max-age=3600Konfigurasi 2: Tambahkan header respons HTTP:
cache-control: no-cache
Ketika kondisi aturan diterapkan, pencocokan ditentukan oleh prioritas kondisi, bukan urutan konfigurasi.
Prosedur
-
Masuk 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 Origin Fetch.
Klik tab Modify Incoming Response Header.
Klik Customize.
Ubah pengaturan header respons ingress.
PentingJika beberapa operasi diterapkan pada parameter header respons origin yang sama, operasi tersebut dieksekusi berdasarkan prioritas berikut: Replace > Add > Change dan Delete. Misalnya, jika operasi add dan delete dikonfigurasi untuk parameter yang sama, operasi add dieksekusi sebelum operasi delete.
Tambahkan header respons
Hapus header respons
Ubah header respons
Ganti header respons
Klik OK.
Header respons default
Alibaba Cloud CDN mengatur empat header respons secara default: Cache-Control, Content-Type, Expires, dan Last-Modified. Header protokol HTTP esensial ini mengontrol caching, menentukan tipe konten, mengatur waktu kedaluwarsa, dan mencatat waktu terakhir resource dimodifikasi.
Header | Deskripsi | Contoh |
Cache-Control | Mengontrol perilaku dan durasi caching sebuah resource. Header ini menyediakan direktif caching untuk POP dan browser klien, menentukan kapan konten di-cache, berapa lama, dan kapan menjadi kedaluwarsa. Header ini memiliki prioritas lebih tinggi daripada header legacy |
|
Content-Type | Menentukan tipe media sebuah resource. Header ini membantu browser klien menginterpretasikan dan merender data dengan benar. CDN juga menggunakan header ini untuk memproses dan mentransfer konten. |
|
Expires | Menentukan tanggal dan waktu kedaluwarsa resource. CDN menggunakan header ini untuk menentukan apakah resource masih valid. Jika kedaluwarsa, CDN melakukan origin fetch untuk mengambil versi terbaru. Header |
|
Last-Modified | Menunjukkan waktu terakhir resource dimodifikasi. CDN dan browser klien menggunakan header respons ini untuk menentukan apakah resource yang di-cache masih mutakhir. |
|
Contoh Konfigurasi
Contoh 1: Atur tipe MIME respons
Kasus Penggunaan
Atur tipe MIME spesifik untuk respons.
Tipe MIME mencakup kategori utama berikut:
Teks: Termasuk file teks (seperti .txt dan .csv) dan file HTML (seperti .html, .htm, dan .shtml).
Gambar: Termasuk file gambar umum (seperti .jpg, .png, dan .gif).
Audio: Termasuk file audio (seperti .mp3 dan .wav).
Video: Termasuk file video (seperti .mp4 dan .avi).
Aplikasi: Termasuk file aplikasi (seperti .pdf, .doc, dan .xls).
Konfigurasi
Operasi header respons: Add
Nama header: Content-Type
Nilai header: text/html
Atur Allow Duplicates ke Do not allow dan Rule Condition ke Do not use, lalu klik OK.
Hasil: POP menambahkan header Content-Type: text/html ke respons dari server origin. Jika Anda mengonfigurasi header ini lagi, nilai baru akan menimpa yang lama.
Contoh 2: Hapus header respons
Kasus Penggunaan
Menghapus header respons.
Konfigurasi
Operasi header respons: Delete
Nama header: Content-Type
Atur Allow Duplicates ke Do not allow dan Rule Condition ke Do not use, lalu klik OK.
Hasil: POP menghapus header Content-Type dari respons sebelum mengembalikannya ke klien.
Jika Anda menerapkan konfigurasi dari Contoh 1 dan Contoh 2, sistem terlebih dahulu menambahkan lalu menghapus header respons Content-Type: text/html. Akibatnya, klien menerima respons tanpa tipe MIME yang ditentukan.