Header respons keluar merupakan bagian dari pesan respons HTTP yang dikirim oleh titik keberadaan (POP) Edge Security Acceleration (ESA) ke klien. Anda dapat mengonfigurasi header respons keluar pada POP untuk mengontrol header mana saja yang dikembalikan bersama sumber daya. ESA memungkinkan Anda menambahkan, memodifikasi, dan menghapus aturan header respons keluar.
Cara kerja
Ketika klien meminta suatu sumber daya, permintaan tersebut pertama kali mencapai POP ESA. Jika permintaan tidak ditemukan di cache POP ESA, POP tersebut mengirim permintaan origin fetch ke server asal untuk mengambil data. Setelah server asal mengembalikan data, POP ESA memodifikasi respons asli berdasarkan aturan header respons yang telah Anda konfigurasi—seperti menambahkan, mengganti, atau menghapus header tertentu—lalu mengembalikan sumber daya lengkap dengan header respons yang telah dimodifikasi ke klien. Proses ini membantu Anda menerapkan kontrol akses lintas asal, mengoptimalkan kebijakan cache, serta memenuhi persyaratan bisnis lainnya.
Kasus penggunaan
Beritahu klien tentang tipe sumber daya yang dikembalikan oleh ESA: Tambahkan header respons seperti
Content-Type: text/html. Hal ini memberi tahu klien bahwa format file dari ESA adalah HTML, sehingga klien dapat merendernya dengan benar.Aktifkan berbagi sumber daya lintas asal: Saat pengguna meminta sumber daya dari nama domain yang dilayani oleh ESA, Anda dapat mengonfigurasi header respons
Access-Control-Allow-Origindalam pesan respons dari ESA. Ini mengaktifkan berbagi sumber daya lintas asal. Untuk informasi selengkapnya, lihat Konfigurasikan berbagi sumber daya lintas asal.Sesuaikan perilaku respons: Tambahkan atau modifikasi header kustom untuk menyesuaikan konten dan format respons yang diterima klien. Hal ini memungkinkan Anda menerapkan fitur atau pelacakan tertentu.
Catatan
Jika Anda menambahkan beberapa aturan, aturan tersebut dieksekusi dari atas ke bawah sesuai urutan kemunculannya dalam daftar. Jika aturan berikutnya menentukan nama header respons yang sama, aturan tersebut akan menimpa aturan sebelumnya, yang dapat menyebabkan hasil yang tidak terduga.
Contoh 1
Pesan respons berisi header
test:123.Sebuah aturan menambahkan header
test:321.
Jika pesan respons sesuai dengan aturan tersebut, header asli test:123 akan ditimpa menjadi test:321.
Contoh 2
Pesan respons berisi header
test:123.Sebuah aturan menambahkan header
test:321, dan aturan lain dikonfigurasi untuk menghapus headertest.
Jika pesan respons sesuai dengan aturan tersebut, header asli test:123 akan dihapus.
Prosedur
Setelah Anda menambahkan aturan, ketika pengguna meminta sumber daya, ESA mencocokkan dan mengeksekusi aturan secara berurutan berdasarkan prioritas eksekusi aturan.
Di Konsol ESA, pilih Websites. Di kolom Website, klik nama situs target.
Di panel navigasi sebelah kiri, pilih .
Klik tab Modify Response Header dan pilih ESA to Client. Klik Create Rule dan masukkan Rule Name.
Di bagian If requests match..., tetapkan kondisi pencocokan permintaan. Untuk informasi lebih lanjut tentang cara mengonfigurasi aturan, lihat Komposisi ekspresi aturan.
Di bagian Modify Response Header, pilih Operation, lalu masukkan Response Header Name dan Response Header Value.
Operation
Type
Description
Example
Add
Static
Menambahkan header respons yang ditentukan ke respons yang dikirim ke klien.
Jika respons sudah berisi header dengan nama yang sama, header baru akan menimpa header yang ada.
Untuk menambahkan header respons dengan nama
x-codedan nilaikey1, konfigurasikan parameter berikut:Response Header Name:
x-codeResponse Header Value:
key1
Dynamic
Nilai header respons dapat diatur ke sebuah expression.
Untuk menambahkan header respons bernama
Client-Ip-Geo-Locationdengan nilaiip.geoip.countryguna mencatat negara atau wilayah alamat IP klien, konfigurasikan parameter berikut:Response Header Name:
Client-Ip-Geo-LocationResponse Header Value:
ip.geoip.country
Change
Static
Memperbarui nilai header respons tertentu dalam respons yang dikirim ke klien.
Untuk memperbarui header respons bernama
x-codemenjadi nilaikey2, konfigurasikan parameter berikut:Response Header Name:
x-codeResponse Header Value:
key2
Dynamic
Nilai header respons dapat diatur ke sebuah expression.
Untuk memperbarui header respons bernama
Client-Ip-Geo-Locationmenjadi nilaiip.geoip.countryagar nilai header berubah menjadi negara atau wilayah alamat IP klien, konfigurasikan parameter berikut:Response Header Name:
Client-Ip-Geo-LocationResponse Header Value:
ip.geoip.country
Delete
Menghapus semua nilai parameter yang sesuai dengan Response Header Name dari respons yang dikirim ke klien, terlepas dari apakah terdapat parameter header respons duplikat.
Untuk menghapus header respons bernama
x-code, atur Response Header Name menjadix-code.CatatanJangan mengonfigurasi Response Header Name yang diawali dengan
ali-inneratauali-swift(tidak peka huruf besar/kecil).Anda dapat mengonfigurasi beberapa nilai untuk Response Header Value. Pisahkan nilai-nilai tersebut dengan koma (
,).Operasi hapus bekerja sama baik untuk mode static maupun dynamic.
Operasi perbarui hanya memodifikasi header respons yang sudah ada. Operasi ini hanya berlaku jika header dengan nama yang ditentukan sudah ada dalam respons asli.
Klik OK.
Contoh ekspresi dinamis
Contoh 1
Tambahkan header respons untuk mencatat alamat IP asal klien.
Response Header Name:
True-Client-IPResponse Header Value:
ip.src
Contoh 2
Tambahkan header respons untuk mencatat kode negara yang sesuai dengan alamat IP klien.
Response Header Name:
IP-Country-CodeResponse Header Value:
ip.geoip.country
Contoh 2
Tambahkan header respons untuk mencatat kode provinsi yang sesuai dengan alamat IP klien.
Response Header Name:
IP-Province-CodeResponse Header Value:
ip.src.subdivision_1_iso_code
Parameter header respons
Parameter header respons | Description | Example |
Custom | Anda dapat menambahkan header respons kustom. Nama header respons kustom harus memenuhi persyaratan berikut:
| Test-Header |
Cache-Control | Menentukan mekanisme caching yang harus diikuti oleh program klien untuk permintaan dan respons. | no-cache |
Content-Disposition | Menentukan nama file default saat program klien menyimpan konten yang diminta sebagai file. | examplefile.txt |
Content-Type | Menentukan tipe konten objek respons untuk program klien. | text/plain |
Pragma | Pragma adalah header umum yang didefinisikan dalam HTTP/1.0. Header ini biasanya digunakan dalam respons server untuk menentukan perilaku caching klien terhadap file. | no-cache |
Access-Control-Allow-Origin | Menentukan origin mana yang dapat mengakses sumber daya. Header ini merupakan bagian dari mekanisme berbagi sumber daya lintas asal (
|
|
Access-Control-Allow-Methods | Menentukan metode yang diizinkan untuk permintaan lintas asal. Pisahkan beberapa metode dengan koma ( | POST,GET |
Access-Control-Allow-Headers | Menentukan bidang yang diizinkan untuk permintaan lintas asal. | X-Custom-Header |
Access-Control-Expose-Headers | Menentukan header kustom yang diizinkan untuk diakses. | Content-Length |
Access-Control-Allow-Credentials | Header respons ini menunjukkan apakah respons terhadap permintaan dapat diekspos ke halaman.
| true |
Access-Control-Max-Age | Menentukan durasi cache, dalam detik, untuk hasil permintaan preflight terhadap sumber daya tertentu. | 600 |
Nilai header respons dapat diatur ke
*, yang berarti origin apa pun.Jika nilai header respons bukan
*, Anda dapat mengonfigurasi satu atau beberapa alamat IP, nama domain, atau kombinasi keduanya. Pisahkan dengan koma (,).Jika nilai header respons bukan
*, nilai tersebut harus mencakup protokolhttp://atauhttps://.Nilai header respons dapat mencakup nomor port.
Nilai header respons mendukung nama domain wildcard.
Referensi
Fitur terkait aturan memiliki variasi dalam prioritas eksekusi, perilaku aturan, dan cakupan konfigurasi. Untuk informasi selengkapnya, lihat Cara aturan ESA diterapkan.