Mengelola kedaluwarsa konten web di Azure Content Delivery Network
Penting
Azure CDN Standard dari Microsoft (klasik) akan dihentikan pada 30 September 2027. Untuk menghindari gangguan layanan apa pun, penting untuk memigrasikan profil Azure CDN Standard dari Microsoft (klasik) ke tingkat Azure Front Door Standard atau Premium paling lambat 30 September 2027. Untuk informasi selengkapnya, lihat Penghentian Azure CDN Standard dari Microsoft (klasik).
Azure CDN dari Edgio akan dihentikan pada 4 November 2025. Anda harus memigrasikan beban kerja Anda ke Azure Front Door sebelum tanggal ini untuk menghindari gangguan layanan. Untuk informasi selengkapnya, lihat Tanya Jawab Umum penghentian Azure CDN dari Edgio.
File dari server web asal yang dapat diakses publik dapat di-cache di Azure Content Delivery Network hingga waktu hidup mereka (TTL) berlalu. TTL ditentukan oleh Cache-Control
header dalam respons HTTP dari server asal. Artikel ini menjelaskan cara mengatur header Cache-Control
untuk fitur Web Apps Microsoft Azure App Service, Azure Cloud Services, aplikasi ASP.NET, dan situs Internet Information Services (IIS), yang semuanya dikonfigurasi serupa. Anda dapat mengatur header Cache-Control
dengan menggunakan file konfigurasi atau secara terprogram.
Anda juga dapat mengontrol pengaturan cache dari portal Azure dengan mengatur aturan penembolokan jaringan pengiriman konten. Jika Anda membuat satu atau beberapa aturan caching dan mengatur perilaku penembolokan mereka ke Override atau Bypass cache, pengaturan penembolokan yang disediakan asal dibahas dalam artikel ini diabaikan. Untuk informasi tentang konsep caching umum, lihat Cara kerja penembolokan.
Tip
Anda dapat memilih untuk tidak mengatur TTL pada file. Dalam hal ini, Azure Content Delivery Network secara otomatis menerapkan TTL default selama tujuh hari, kecuali Anda telah menyiapkan aturan penembolokan di portal Azure. TTL default ini hanya berlaku untuk pengoptimalan pengiriman web umum. Untuk pengoptimalan file besar, TTL default adalah satu hari, dan untuk pengoptimalan streaming media, TTL default adalah satu tahun.
Untuk informasi selengkapnya tentang cara kerja Azure Content Delivery Network untuk mempercepat akses ke file dan sumber daya lainnya, lihat Gambaran Umum Azure Content Delivery Network.
Mengatur header Cache-Control dengan menggunakan aturan penembolokan jaringan pengiriman konten
Metode yang dipilih untuk mengatur header Cache-Control
server web adalah menggunakan aturan penembolokan di portal Microsoft Azure. Untuk informasi selengkapnya tentang aturan penembolokan jaringan pengiriman konten, lihat Mengontrol perilaku penembolokan Azure Content Delivery Network dengan aturan penembolokan.
Catatan
Aturan penembolokan hanya tersedia untuk Azure CDN Standard dari profil Edgio . Untuk profil Azure CDN Premium dari Edgio , Anda harus menggunakan mesin aturan Azure Content Delivery Network di portal Kelola untuk fungsionalitas serupa.
Untuk menavigasi ke halaman aturan penembolokan CDN:
Di portal Azure, pilih profil jaringan pengiriman konten, lalu pilih titik akhir untuk server web.
Di panel kiri, di bawah Pengaturan, pilih Aturan penembolokan.
Halaman Aturan penembolokan muncul.
Untuk mengatur header server web Cache-Control menggunakan aturan penembolokan global:
Di bawah Aturan penembolokan global, atur Perilaku penembolokan string kueri ke Abaikan string kueri dan atur Perilaku penembolokan ke Ambil alih.
Untuk Durasi kedaluwarsa cache, masukkan 3600 dalam kotak Detik atau 1 dalam kotak Jam.
Aturan penembolokan global ini menetapkan durasi cache satu jam dan memengaruhi semua permintaan ke titik akhir. Ini mengambil alih header HTTP atau
Expires
apa punCache-Control
yang dikirim oleh server asal yang ditentukan oleh titik akhir.Pilih Simpan.
Untuk mengatur header Cache-Kontrol file server web dengan menggunakan aturan penembolokan kustom:
Di bawah Aturan penembolokan kustom, buat dua kondisi kecocokan:
Untuk kondisi kecocokan pertama, atur kondisi Cocokkan kondisi ke Jalur dan masukkan
/webfolder1/*
untuk Nilai kecocokan. Atur Perilaku penembolokan ke Ambil alih dan masukkan 4 di kotak Hari.Untuk kondisi kecocokan kedua, atur kondisi Cocokkan kondisi ke Jalur dan masukkan
/webfolder1/file1.txt
untuk Nilai kecocokan. Atur Perilaku penembolokan ke Ambil alih dan masukkan 2 di kotak Hari.
Aturan penembolokan kustom pertama menetapkan durasi cache selama empat hari untuk file apa pun di folder
/webfolder1
di server asal yang ditentukan oleh titik akhir Anda. Aturan kedua mengambil alih aturan pertama hanya untuk filefile1.txt
dan menetapkan durasi cache selama dua hari untuknya.Pilih Simpan.
Mengatur header Cache-Kontrol dengan menggunakan file konfigurasi
Untuk konten statis, seperti gambar dan lembar gaya, Anda dapat mengontrol frekuensi pembaruan dengan memodifikasi file konfigurasi applicationHost.config atau Web.config untuk aplikasi web Anda. Untuk mengatur header Cache-Control
untuk konten Anda, gunakan elemen <system.webServer>/<staticContent>/<clientCache>
di salah satu file.
Menggunakan file ApplicationHost.config
File ApplicationHost.config adalah file akar dari sistem konfigurasi IIS. Pengaturan konfigurasi dalam file ApplicationHost.config memengaruhi semua aplikasi di situs, tetapi diambil alih oleh pengaturan file Web.config apa pun yang ada untuk aplikasi web.
Menggunakan file Web.config
Dengan file Web.config, Anda dapat menyesuaikan cara seluruh aplikasi web Anda atau direktori tertentu di aplikasi web Anda berperilaku. Biasanya, Anda memiliki setidaknya satu file Web.config di folder akar aplikasi web Anda. Untuk setiap file Web.config di folder tertentu, pengaturan konfigurasi memengaruhi semua yang ada di folder tersebut dan subfoldernya, kecuali jika ditimpa di tingkat subfolder oleh file Web.config lainnya.
Misalnya, Anda dapat mengatur elemen <clientCache>
dalam file Web.config di folder akar aplikasi web Anda untuk menyimpan semua konten statis di aplikasi web Anda selama tiga hari. Anda juga dapat menambahkan file Web.config dalam subfolder dengan lebih banyak konten variabel (misalnya, \frequent
) dan mengatur elemen <clientCache>
untuk menyimpan konten subfolder selama enam jam. Hasil bersih adalah bahwa konten di seluruh situs web disimpan selama tiga hari, kecuali untuk konten apa pun di direktori \frequent
, yang disimpan hanya selama enam jam.
Contoh file konfigurasi XML berikut ini memperlihatkan cara mengatur elemen <clientCache>
untuk menentukan umur maksimum tiga hari:
<configuration>
<system.webServer>
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="3.00:00:00" />
</staticContent>
</system.webServer>
</configuration>
Untuk menggunakan atribut cacheControlMaxAge, Anda harus mengatur nilai atribut cacheControlMode ke UseMaxAge
. Pengaturan ini menyebabkan header dan direktif HTTP, Cache-Control: max-age=<nnn>
, ditambahkan ke respons. Format nilai timespan untuk atribut cacheControlMaxAge adalah <days>.<hours>:<min>:<sec>
. Nilainya dikonversi menjadi detik dan digunakan sebagai nilai Cache-Control
max-age
direktif. Untuk informasi selengkapnya tentang elemen <clientCache>
, lihat Cache Klien <clientCache>.
Mengatur header Cache-Kontrol secara terprogram
Untuk aplikasi ASP.NET, Anda mengontrol perilaku penembolokan jaringan pengiriman konten secara terprogram dengan mengatur properti HttpResponse.Cache dari .NET API. Untuk informasi tentang properti HttpResponse.Cache, lihat HttpResponse.Cache Property dan HttpCachePolicy Class.
Untuk memprogram konten aplikasi cache di ASP.NET, ikuti langkah-langkah berikut:
- Verifikasi bahwa konten ditandai sebagai dapat disimpan dengan mengatur
HttpCacheability
kePublic
. - Atur validator cache dengan memanggil salah satu metode berikut
HttpCachePolicy
:- Panggilan
SetLastModified
untuk mengatur nilai tanda waktu untuk headerLast-Modified
. - Panggilan
SetETag
untuk mengatur nilai untuk headerETag
.
- Panggilan
- Secara opsional, tentukan waktu kedaluwarsa cache dengan memanggil
SetExpires
untuk mengatur nilai untuk headerExpires
. Jika tidak, heuristik cache default yang dijelaskan sebelumnya dalam dokumen ini diberlakukan.
Misalnya, untuk menyimpan konten selama satu jam, tambahkan kode C# berikut:
// Set the caching parameters.
Response.Cache.SetExpires(DateTime.Now.AddHours(1));
Response.Cache.SetCacheability(HttpCacheability.Public);
Response.Cache.SetLastModified(DateTime.Now);
Menguji header Cache-Kontrol
Anda dapat dengan mudah memverifikasi pengaturan TTL konten web Anda. Dengan alat pengembang browser Anda, uji apakah konten web Anda menyertakan Cache-Control
header respons. Anda juga dapat menggunakan alat seperti wget atau Fiddler untuk memeriksa header respons.