Header respons outbound merupakan salah satu komponen header pesan respons HTTP yang membawa parameter respons tertentu dan meneruskannya ke klien. Header ini dapat digunakan untuk mengontrol berbagai perilaku klien, seperti caching, akses lintas asal, tipe konten, dan metode unduhan. Dengan memodifikasi header respons outbound, respons yang dikembalikan oleh CDN terhadap permintaan sumber daya di bawah nama domain yang dipercepat akan menyertakan header respons yang telah Anda konfigurasi, sehingga memungkinkan fitur-fitur tertentu seperti akses lintas asal.
Informasi latar belakang
Header respons outbound adalah mekanisme dalam protokol HTTP yang digunakan untuk mengontrol caching. Saat klien meminta sumber daya, header respons HTTP yang dikembalikan oleh node memungkinkan konten di-cache berdasarkan kondisi tertentu.
Konfigurasi header respons HTTP bersifat tingkat domain. Setelah diterapkan, konfigurasi tersebut berlaku untuk semua sumber daya di bawah domain tersebut.
Mengonfigurasi header respons HTTP hanya memengaruhi perilaku klien (misalnya browser) dan tidak memengaruhi perilaku caching node CDN . Jika nama domain yang dipercepat merupakan Nama domain wildcard, modifikasi header respons outbound tidak didukung.
Skenario
Beritahu klien tentang tipe sumber daya file respons CDN : Tambahkan header respons
Content-Type: text/htmluntuk memberi tahu klien bahwa file respons yang dikembalikan oleh CDN berformat HTML.Implementasikan akses sumber daya lintas asal: Saat pengguna meminta sumber daya dari nama domain di CDN , Anda dapat mengonfigurasi header respons
Access-Control-Allow-Origindalam respons yang dikembalikan oleh CDN untuk mengaktifkan akses lintas asal. Untuk informasi lebih lanjut, lihat Konfigurasikan Berbagi Sumber Daya Lintas Asal. Alibaba Cloud CDN juga mendukung validasi permintaan lintas asal berdasarkan aturan CORS yang dikonfigurasi, sehingga memberikan kontrol yang lebih fleksibel terhadap akses sumber daya lintas asal.Unduhan file: Saat mengakses file OSS melalui Domain akselerasi CDN, browser secara default menampilkan pratinjau file tersebut. Tambahkan
Content-Disposition: attachmentke header respons outbound agar browser mengunduh file tersebut alih-alih menampilkannya dalam pratinjau.Menyesuaikan perilaku respons: Tambahkan atau modifikasi header kustom sesuai kebutuhan bisnis untuk menyesuaikan konten dan format respons yang diterima oleh klien.
Catatan
-
Beberapa konfigurasi dieksekusi dari atas ke bawah sesuai urutan dalam daftar konfigurasi, dengan efek yang bersifat kumulatif. Jika beberapa konfigurasi memodifikasi header yang sama, konfigurasi terakhir yang berlaku. Pada contoh berikut, Konfigurasi 2 yang berlaku:
-
Konfigurasi 1: Tambahkan header respons HTTP:
cache-control: max-age=3600 -
Konfigurasi 2: Tambahkan header respons HTTP:
cache-control: no-cache
-
-
Saat menggunakan kondisi aturan, pencocokan dilakukan berdasarkan prioritas kondisi, bukan urutan konfigurasi fitur.
CDN tidak mendukung penghapusan atau modifikasi header respons yang dicadangkan sistem, seperti Via dan EagleId. Header ini digunakan untuk mencatat informasi tentang node CDN. Meskipun Anda mengonfigurasi penghapusan atau modifikasi, konfigurasi tersebut tidak berlaku, dan sistem tetap menyimpan informasi dari node terakhir.
Setelah konfigurasi header respons outbound dimodifikasi, perubahan umumnya berlaku dalam waktu 5 menit. Anda tidak perlu melakukan Pra-ambil ulang sumber daya (Pra-ambil tidak mengubah header respons sumber daya yang di-cache).
Prosedur
-
Masuk ke CDN console.
-
Di panel navigasi kiri, klik Domain Names.
-
Pada halaman Domain Names, temukan nama domain target lalu klik Manage pada kolom Actions.
-
Di panel navigasi domain, klik Cache.
Klik tab Modify outbound response headers.
Klik Customize untuk memodifikasi header respons outbound.
Contoh berikut menjelaskan cara menambahkan header respons outbound.
Parameter
Deskripsi
Operation
Tambahkan, hapus, ubah, atau ganti header respons tertentu.
Response Header
Pilih parameter header respons kustom. Untuk informasi selengkapnya, lihat Parameter header respons.
Header Name
Jika parameter header respons kustom diatur ke Custom, Anda harus mengonfigurasi nama header respons kustom. Persyaratan untuk nama header respons kustom adalah sebagai berikut:
Terdiri dari huruf kapital, huruf kecil, tanda hubung, dan angka.
Panjangnya antara 1 hingga 100 karakter.
Header Value
Masukkan nilai header respons yang ingin Anda atur. Untuk informasi selengkapnya, lihat Parameter header respons.
Allow Duplicates
Yes: Mempertahankan header yang dikembalikan oleh origin server dan menambahkan header dengan nama yang sama.
No: Header yang dikembalikan oleh origin server ditimpa oleh header baru yang dikonfigurasi dengan nama yang sama.
CORS
Validasi CORS dinonaktifkan secara default. Anda dapat mengonfigurasi validasi CORS hanya ketika Operation diatur ke "Add" dan Response Header diatur ke "Access-Control-Allow-Origin".
Enable: Saat validasi CORS diaktifkan, node CDN memvalidasi permintaan lintas asal pengguna berdasarkan aturan berikut dan merespons dengan nilai "Access-Control-Allow-Origin" berdasarkan hasil validasi.
Disable: Saat validasi CORS dinonaktifkan, node CDN tidak memvalidasi header Origin yang dibawa dalam permintaan pengguna dan hanya merespons dengan nilai Access-Control-Allow-Origin yang dikonfigurasi.
Untuk aturan validasi CORS, lihat Aturan validasi CORS.
Rule Condition
Rule Conditions dapat mengidentifikasi berbagai parameter yang dibawa dalam permintaan pengguna untuk menentukan apakah suatu konfigurasi berlaku untuk permintaan tersebut.
PentingSaat Anda mereferensikan kondisi aturan, sistem mencocokkan aturan berdasarkan prioritas kondisi aturan terkait, bukan urutan konfigurasi fitur.
Do not use: Jangan gunakan kondisi aturan.
Untuk menambahkan atau mengedit kondisi aturan, kelola di Rules engine.
Klik OK untuk menyelesaikan konfigurasi.
Setelah berhasil memodifikasi header respons outbound, Anda dapat melakukan operasi Modify atau Delete pada konfigurasi saat ini dalam daftar header respons outbound POP HTTP Response Header.
Contoh konfigurasi: Konfigurasikan Cache-Control:no-cache untuk file PDF
Jika Anda ingin klien melakukan negosiasi cache pada file PDF (memverifikasi dengan node CDN apakah file telah diperbarui pada setiap permintaan), Anda dapat menggunakan rules engine:
Saat Anda Customize konfigurasi header respons outbound, pilih untuk menggunakan Rule Condition.
Atur kondisi pencocokan menjadi ekstensi file berisi
.pdf.Konfigurasikan aksi untuk memodifikasi header respons outbound dan tambahkan
cache-control:no-cache.
Konfigurasi ini hanya memengaruhi header respons yang dikembalikan CDN ke klien dan membuat klien melakukan negosiasi cache, tetapi tidak memengaruhi kebijakan caching node CDN terhadap file PDF tersebut.
Aturan validasi CORS
Item konfigurasi Allow Duplicates dan CORS saling eksklusif. Jika Allow Duplicates diatur ke Yes, validasi CORS menjadi tidak berlaku.
Pencocokan wildcard: Jika nilai parameter header respons kustom
Access-Control-Allow-Origindiatur ke*,Access-Control-Allow-Origin:*selalu dikembalikan, terlepas dari apakah permintaan pengguna membawa parameterOriginmaupun nilai parameterOrigintersebut.Pencocokan eksak: Nilai parameter header respons kustom
Access-Control-Allow-Origindiatur ke satu atau beberapa nilai (pisahkan beberapa nilai dengan,).Jika nilai parameter
Originyang dibawa dalam header permintaan pengguna secara eksak cocok dengan salah satu nilai yang dikonfigurasi, header lintas asal yang sesuai dikembalikan.Jika tidak ditemukan kecocokan eksak, header lintas asal tidak dikembalikan.
Pencocokan domain wildcard: Jika nilai parameter header respons kustom
Access-Control-Allow-Origindiatur ke Nama domain wildcard, sistem memvalidasi apakah nilai Origin dalam header permintaan cocok dengan nama domain wildcard dariAccess-Control-Allow-Origin.
Untuk informasi tentang cara mengonfigurasi pengaturan tersebut, lihat Konfigurasikan Berbagi Sumber Daya Lintas Asal.
Parameter header respons
Parameter header respons | Deskripsi | Contoh |
Custom | Anda dapat menambahkan header respons kustom. Persyaratan untuk nama header respons kustom adalah sebagai berikut:
| Test-Header |
Cache-Control | Menentukan mekanisme caching yang harus diikuti oleh permintaan dan respons program client. | no-cache |
Content-Disposition | Menentukan nama file default yang disediakan saat program client menyimpan konten yang diperoleh dari permintaan sebagai file. | examplefile.txt |
Content-Type | Menentukan tipe konten objek respons program client. | text/plain |
Pragma | Pragma adalah header umum yang ditentukan dalam HTTP/1.0. Header ini biasanya digunakan dalam respons server untuk menentukan perilaku caching client terhadap file. | no-cache |
Access-Control-Allow-Origin |
|
|
Access-Control-Allow-Methods | Menentukan metode permintaan lintas asal yang diizinkan. Pisahkan beberapa metode dengan koma ( | POST,GET |
Access-Control-Allow-Headers | Menentukan bidang permintaan lintas asal yang diizinkan. | X-Custom-Header |
Access-Control-Expose-Headers | Menentukan informasi header kustom yang dapat diakses. | Content-Length |
Access-Control-Allow-Credentials | Menunjukkan apakah respons terhadap permintaan dapat diekspos ke halaman.
| true |
Access-Control-Max-Age | Menentukan Durasi cache hasil permintaan preflight untuk sumber daya tertentu program client. Satuan: detik. | 600 |
Content-Security-Policy | Mengonfigurasi Kebijakan Keamanan Konten (CSP) untuk mengontrol sumber daya mana yang dapat dimuat halaman, serta melindungi dari ancaman keamanan seperti serangan XSS dan injeksi data. CDN tidak melakukan validasi semantik terhadap konten kebijakan CSP dan hanya memvalidasi format dasar header respons HTTP. Konten kebijakan harus berupa string satu baris dan tidak boleh mengandung line break, karakter kontrol tidak valid, atau tanda kutip yang tidak di-escape. Jangan sertakan tanda kutip ganda luar. Kami menyarankan Anda memverifikasi kebijakan tersebut di developer tools browser sebelum memasukkannya, atau mengonfigurasi CSP di origin server agar CDN meneruskannya. | default-src 'self'; script-src 'self' 'unsafe-inline' |
Permissions-Policy | Mengonfigurasi kebijakan izin untuk mengontrol izin akses ke fitur browser tertentu, seperti Kamera, mikrofon, dan geolokasi. | camera=(), microphone=() |
Nilai header respons dapat diatur ke
*, yang menunjukkan origin apa pun.Jika nilai header respons bukan
*, Anda dapat mengonfigurasi satu atau beberapa alamat IP, satu atau beberapa nama domain, atau kombinasi alamat IP dan nama domain. Pisahkan dengan koma (,).Jika nilai header respons bukan
*, nilai tersebut harus mengandung protokolhttp://atauhttps://.Nilai header respons dapat mengandung Port.
Nilai header respons mendukung Nama domain wildcard.
Perbedaan antara header respons outbound dan inbound
Header respons outbound dan inbound berlaku pada tahap berbeda dalam proses caching. Sebelum mengonfigurasi header respons, pastikan objek targetnya:
Header respons outbound (header respons HTTP node): Header respons yang dikirim dari node CDN ke klien, seperti browser. Jika node memiliki konten yang di-cache, node langsung mengembalikan konten tersebut ke klien tanpa melakukan pengambilan asal. Header ini digunakan untuk mengontrol perilaku caching antara klien dan node CDN.
Header respons inbound (header respons HTTP pengambilan asal): Header respons yang dikirim dari origin server ke node CDN. Saat cache di node kedaluwarsa atau terjadi cache miss, node meminta konten terbaru dari origin server. Header yang dikembalikan oleh origin server adalah header respons inbound. Header ini digunakan untuk mengontrol perilaku caching antara origin server dan node CDN.
Modifikasi header respons inbound (seperti memodifikasi bidang domain Set-Cookie) hanya memengaruhi komunikasi antara origin server dan node CDN, dan tidak terlihat oleh pengguna akhir. Untuk memengaruhi respons yang diterima pengguna akhir, konfigurasikan header respons outbound. Jika header respons outbound masih tidak berlaku, disarankan untuk memodifikasi header respons di origin server.
Konfigurasi batch untuk beberapa nama domain
Konfigurasi header respons outbound dapat diterapkan ke beberapa nama domain secara batch. Anda dapat memanggil Operasi API BatchSetCdnDomainConfig untuk mengonfigurasi nama domain secara batch serta mengatur aturan penambahan header respons melalui parameter fungsi operasi tersebut.
Waktu berlakunya konfigurasi
Konfigurasi umumnya berlaku dalam waktu 5 menit. Sebelum konfigurasi berlaku, statusnya ditampilkan sebagai Configuring, yang merupakan hal normal.
FAQ
Untuk informasi tentang cara menangani masalah seperti konfigurasi header respons yang tidak berlaku, lihat Panduan troubleshooting cache.