全部产品
Search
文档中心

Edge Security Acceleration:Konfigurasi waktu kedaluwarsa cache

更新时间:Nov 19, 2025

Waktu hidup (TTL) cache menentukan durasi penyimpanan sumber daya dari server asal dalam cache pada node DCDN. Setelah TTL berakhir, node DCDN menandai sumber daya tersebut sebagai kedaluwarsa. Jika klien meminta sumber daya yang kedaluwarsa dari node DCDN, DCDN melakukan pengambilan asal untuk mengambil versi terbaru sumber daya tersebut dan menyimpannya dalam cache di node DCDN. Anda dapat mengonfigurasi TTL cache untuk sumber daya statis berdasarkan direktori file atau ekstensi nama file sesuai kebutuhan bisnis Anda.

Perhatian

  • Anda dapat mengubah waktu cache setelah menambahkan nama domain. Durasi cache memengaruhi lalu lintas kembali ke asal dan biaya. Waktu kedaluwarsa cache memengaruhi frekuensi pengambilan asal. Tetapkan durasi cache sumber daya berdasarkan kebutuhan bisnis Anda.

    Jika waktu kedaluwarsa cache terlalu singkat, DCDN akan sering mengambil data dari asal, sehingga meningkatkan lalu lintas server asal. Jika waktu kedaluwarsa cache terlalu lama, pembaruan data akan tertunda.

  • Sumber daya yang di-cache pada titik kehadiran (POP) DCDN yang jarang diakses (artinya sumber daya pada POP DCDN yang sama tidak sering diminta oleh klien) mungkin ditimpa oleh sumber daya lain yang lebih populer pada POP DCDN sebelum masa cache-nya berakhir.

  • Ketika titik kehadiran DCDN menerima sumber daya file statis dalam tanggapan dari server asal, sumber daya tersebut di-cache sesuai dengan Aturan dan Prioritas Cache Default Alibaba Cloud DCDN. Untuk informasi selengkapnya tentang aturan cache untuk sumber daya file dinamis, lihat Ikhtisar Aturan Akselerasi untuk Konten Dinamis dan Statis.

  • Jangan perbarui konten di server asal menggunakan nama file yang sama. Sebagai gantinya, gunakan nomor versi untuk sinkronisasi.

    Untuk membedakan secara akurat antara konten sebelum dan sesudah pembaruan, sinkronkan konten asal Anda menggunakan nomor versi. Artinya, gunakan nama file yang berbeda saat memperbarui konten. Misalnya, Anda dapat menggunakan nama seperti img-v1.0.jpg dan img-v2.1.jpg.

Prosedur

  1. Masuk ke DCDN console.

  2. Di panel navigasi sebelah kiri, klik Domain Names.

  3. Pada halaman Domain Names, temukan nama domain yang ingin Anda kelola lalu klik Configure.

  4. Di pohon navigasi sebelah kiri nama domain, klik Caching.

  5. Pada tab Cache Duration, klik Add.

  6. Anda dapat mengonfigurasi aturan cache di kotak dialog Cache Duration.

    image

    Parameter

    Deskripsi

    Type

    Mendukung Directory atau Filename Extension untuk menentukan cakupan sumber daya

    • Directory: Menetapkan aturan cache yang sama untuk semua sumber daya dalam jalur tertentu.

    • Filename Extension: Menetapkan aturan cache yang sama untuk sumber daya jenis file tertentu.

    Content

    Direktori atau ekstensi file dari sumber daya.

    • Jika Anda mengatur Type ke Directory, perhatikan hal berikut:

      • Tambahkan hanya satu direktori dalam satu waktu. Gunakan garis miring (/) untuk mencocokkan semua direktori.

      • Masukkan jalur lengkap direktori. Jalur harus dimulai dengan garis miring (/). Contoh: /directory/aaa.

    • Saat Anda memilih Filename Extension sebagai tipe, perhatikan hal berikut:

      • Masukkan satu atau beberapa ekstensi file. Pisahkan beberapa ekstensi dengan koma (,). Misalnya, jpg,txt. Ekstensi bersifat case-sensitive.

        Jenis file statis yang didukung adalah:

        • Citra: GIF, PNG, BMP, JPEG, dan JPG.

        • Laman web: HTML, HTM, dan SHTML.

        • File audio dan video: MP3, WMA, FLV, MP4, WMV, OGG, dan AVI.

        • Dokumen: DOC, DOCX, XLS, XLSX, PPT, PPTX, TXT, dan PDF.

        • Lainnya: ZIP, EXE, TAT, ICO, CSS, JS, SWF, APK, M3U8, TS, EJS, SVG, WOFF, dan OTF.

      • Anda tidak dapat menggunakan tanda bintang (*) untuk mencocokkan semua jenis file.

    Expire In

    Waktu hidup (TTL) untuk sumber daya yang di-cache. Anda dapat mengatur TTL hingga maksimal 3 tahun. Ikuti aturan berikut:

    • Untuk file statis yang jarang diperbarui, seperti citra dan paket aplikasi, atur TTL menjadi satu bulan atau lebih lama.

    • Untuk file statis yang sering diperbarui, seperti file JS dan CSS, atur TTL sesuai kebutuhan.

    • Untuk file dinamis, seperti file PHP, JSP, dan ASP, atur TTL menjadi 0 detik. Hal ini mencegah file tersebut di-cache.

    Honor Origin TTL

    Jika fitur ini diaktifkan dan server asal mengembalikan header kebijakan cache, seperti Cache-Control dan Pragma, kebijakan cache server asal akan diprioritaskan.

    Ignore Origin No-Cache Header

    Jika diaktifkan, node DCDN akan mengabaikan header kebijakan cache berikut dari tanggapan server asal (header ini digunakan untuk mencegah caching).

    • Cache-Control: no-store

    • Cache-Control: no-cache

    • Cache-Control: max-age=0

    • Pragma: no-cache

    Follow POP TTL

    Setelah Anda mengaktifkan fitur ini, node DCDN akan merespons klien dengan kebijakan cache efektif akhir.

    Force Revalidation

    Parameter ini hanya berlaku ketika waktu kedaluwarsa cache diatur ke 0. Efeknya sebagai berikut:

    • Nonaktif (default): Ketika waktu hidup (TTL) untuk DCDN diatur ke 0, file tidak di-cache pada node DCDN, dan setiap permintaan harus mengambil konten dari server asal.

    • Diaktifkan: Ketika waktu hidup (TTL) untuk DCDN diatur ke 0, file di-cache pada node DCDN, dan setiap permintaan memerlukan pengambilan asal untuk memvalidasi konten yang di-cache.

    Weight

    Prioritas aturan cache. Nilai yang valid: 1 hingga 99. Nilai yang lebih besar menunjukkan prioritas yang lebih tinggi. Aturan dengan prioritas tertinggi akan diprioritaskan.

    Catatan
    • Jika beberapa aturan cache dikonfigurasi, tetapkan bobot berbeda untuk setiap aturan guna mengontrol prioritas eksekusinya.

    • Jika beberapa aturan memiliki bobot yang sama, aturan yang dibuat lebih awal memiliki prioritas lebih tinggi, terlepas dari jenis aturan tersebut.

    • Jika beberapa kebijakan cache dikonfigurasi, DCDN berhenti mencocokkan kebijakan lain setelah satu kebijakan diterapkan.

    Rule Condition

    Kondisi aturan dapat mengidentifikasi parameter dalam permintaan untuk menentukan apakah konfigurasi berlaku untuk permintaan tersebut.

    • Jangan gunakan kondisi

    • Jika Anda ingin menambahkan atau mengedit kondisi aturan, lihat Rules engine.

  7. Klik OK untuk menyelesaikan konfigurasi.

    Setelah membuat aturan cache, Anda dapat Modify atau Delete aturan tersebut dalam daftar Cache Duration.

Aturan dan prioritas cache default Alibaba Cloud DCDN

Untuk tanggapan asal dengan kode status HTTP 200, 203, 206, 300, 301, 308, atau 410, waktu kedaluwarsa cache ditentukan oleh aturan berikut.

Ketika POP DCDN menerima sumber daya file dari server asal, aturan cache diterapkan sesuai urutan prioritas berikut. Angka yang lebih kecil menunjukkan prioritas yang lebih tinggi.缓存优先级

  1. Jika server asal merespons dengan pragma:no-cache, cache-control:no-cache (atau no-store, atau max-age=0), DCDN tidak menyimpan sumber daya tersebut dalam cache.

  2. Waktu kedaluwarsa cache atau waktu kedaluwarsa kode status yang diatur di konsol DCDN.

    Catatan

    Jika permintaan DCDN cocok dengan beberapa aturan, hanya satu aturan yang diterapkan. Prioritas ditentukan pertama berdasarkan bobot, lalu berdasarkan waktu pembuatan.

    • Jika Anda memiliki beberapa aturan cache, Anda dapat mengatur bobot berbeda untuk setiap aturan guna mengontrol prioritas eksekusinya. Bobot yang lebih besar menunjukkan prioritas yang lebih tinggi.

    • Untuk aturan dengan bobot yang sama, aturan yang dibuat lebih awal memiliki prioritas lebih tinggi, terlepas dari jenis aturan tersebut.

  3. Aturan cache lain yang dikonfigurasi di server asal. Prioritas dari tinggi ke rendah adalah: cache-control > expires > last-modified > ETag.

    1. Jika header cache-control dalam tanggapan dari server asal menentukan nilai max-age atau s-maxage lebih besar dari 0, header cache-control digunakan untuk mengatur waktu hidup. Contoh: cache-control:max-age=3600. Jika max-age dan s-maxage keduanya ada, s-maxage diprioritaskan.

    2. Jika tanggapan asal tidak berisi header cache-control tetapi berisi header Expires, waktu kedaluwarsa cache ditentukan oleh header Expires. Contoh: expires:Tue, 25 Nov 2031 17:25:43 GMT.

    3. Jika tanggapan asal tidak berisi cache-control atau Expires tetapi berisi last-modified, waktu cache dihitung menggunakan rumus: (Waktu Saat Ini - last-modified) × 0,1. Jika hasilnya antara 10 detik dan 3600 detik, hasil tersebut digunakan. Jika hasilnya kurang dari 10 detik, waktu cache adalah 10 detik. Jika hasilnya lebih dari 3600 detik, waktu cache adalah 3600 detik.

    4. Jika tanggapan asal tidak berisi cache-control, Expires, atau last-modified tetapi berisi ETag, sumber daya di-cache selama 10 detik.

  4. Jika data yang dikembalikan dari server asal tidak berisi salah satu header respons terkait cache (cache-control, expires, last-modified, atau ETag), sumber daya tersebut tidak di-cache secara default.

Deskripsi informasi respons cache

  • Date:

    • Menunjukkan waktu saat server asal mengirimkan sumber daya dalam tanggapan ke POP DCDN.

    • Ketika POP DCDN memvalidasi ulang sumber daya dengan server asal dengan menyertakan header If-Modified-Since atau If-None-Match dalam permintaan asal, informasi Date diperbarui jika server asal mengembalikan kode status 304.

    • Formatnya adalah Greenwich Mean Time (GMT), contohnya: Sat, 19 Apr 2025 08:58:31 GMT.

  • X-Cache:

    Menunjukkan apakah sumber daya yang diminta mengenai cache pada POP DCDN. Tabel berikut menjelaskan nilai-nilai yang mungkin.

    Status

    Deskripsi

    HIT

    Sumber daya yang diminta mengenai cache pada POP DCDN.

    MISS

    Sumber daya yang diminta tidak mengenai cache pada POP DCDN. Sumber daya disediakan oleh server asal.

  • X-Swift-Cachetime:

    • Menunjukkan sisa waktu cache sumber daya pada POP DCDN, dalam satuan detik.

    • X-Swift-Cachetime = Ali-Swift-Global-Savetime + Waktu kedaluwarsa cache yang diatur untuk CDN - X-Swift-SaveTime.

    • X-Swift-Cachetime tidak selalu sama dengan waktu kedaluwarsa cache yang diatur untuk DCDN. Tiga situasi berikut mungkin terjadi:

      • X-Swift-Cachetime = Waktu kedaluwarsa cache yang diatur untuk DCDN, misalnya 3600 detik.

      • X-Swift-Cachetime sedikit lebih kecil daripada waktu kedaluwarsa cache yang diatur untuk DCDN. Misalnya, waktu kedaluwarsa cache untuk DCDN diatur menjadi 300 detik, tetapi X-Swift-Cachetime adalah 295 detik. Hal ini mungkin disebabkan oleh alasan berikut:

        • Latensi tinggi terjadi saat POP Layer 1 mengambil data dari POP Layer 2.

        • Jam pada POP Layer 1 dan Layer 2 tidak tersinkronisasi.

      • Nilai X-Swift-Cachetime negatif. Hal ini mungkin terjadi karena waktu kedaluwarsa cache untuk DCDN diubah. Saat klien mengirim permintaan, cache pada POP Layer 1 telah kedaluwarsa, tetapi cache pada POP Layer 2 belum. Misalnya, waktu kedaluwarsa cache untuk DCDN awalnya 3600 detik dan kemudian diubah menjadi 300 detik. Jika klien mengirim permintaan 600 detik setelah permintaan pertama, header responsnya adalah X-Swift-Cachetime:-300. Untuk mengatasi masalah ini, Anda dapat menyegarkan cache.

  • X-Swift-SaveTime:

    • Menunjukkan waktu saat sumber daya pertama kali di-cache pada POP DCDN yang diakses langsung oleh klien. Biasanya ini adalah POP Layer 1.

    • Formatnya adalah Greenwich Mean Time (GMT), contohnya: Sat, 19 Apr 2025 08:58:31 GMT.

  • Ali-Swift-Global-Savetime:

    • Menunjukkan waktu saat sumber daya pertama kali di-cache pada POP DCDN. Ini bisa berupa POP Layer 2 atau POP pada lapisan cache lainnya, tergantung pada arsitektur cache situs.

    • Formatnya adalah stempel waktu UNIX, contohnya: 1745053111, yang merepresentasikan 2025-04-19 16:58:31.

Mekanisme kontrol cache HTTP

Protokol HTTP mendefinisikan tiga jenis mekanisme kontrol cache:

  1. Mekanisme validasi waktu kedaluwarsa

    Ketika klien meminta sumber daya dari server, waktu kedaluwarsa untuk sumber daya tersebut ditetapkan. Sebelum waktu ini, salinan cache sumber daya dianggap valid. Setelah waktu ini, salinan cache dianggap tidak valid.

    Berikut adalah header HTTP umum yang mengontrol waktu kedaluwarsa cache:

    Nama Header

    Versi Protokol

    Fungsi

    Nilai Contoh

    Jenis

    Pragma

    HTTP/1.0

    Pragma menunjukkan apakah konten tidak boleh di-cache. Nilai tipikalnya adalah no-cache, yang berarti file tidak di-cache. Sering digunakan untuk kompatibilitas dengan server yang hanya mendukung HTTP/1.0.

    Pragma:no-cache

    Permintaan/Tanggapan

    Expires

    HTTP/1.0

    Header respons Expires berisi tanggal/waktu setelah mana konten cache akan kedaluwarsa.

    Jika tanggal tidak valid digunakan, seperti 0, artinya sumber daya telah kedaluwarsa.

    Expires: Wed, 21 Oct 2022 07:28:00 GMT

    Tanggapan

    Cache-Control

    HTTP/1.1

    Header respons Cache-Control dapat diatur dengan instruksi berbeda untuk mencapai kontrol cache yang fleksibel. Ini adalah header utama yang digunakan oleh klien modern, seperti browser, untuk mengontrol caching.

    Tiga contoh berikut menunjukkan bahwa file tidak boleh di-cache:

    • Cache-Control:no-cache

    • Cache-Control:no-store

    • Cache-Control:max-age=0

    Contoh yang menunjukkan periode validitas cache 1 jam: Cache-Control:max-age=3600

    Permintaan/Tanggapan

  2. Mekanisme validasi tag sumber daya

    Ketika klien pertama kali meminta sumber daya dari server, server menyertakan tag sumber daya dalam header respons. Tag ini berfungsi sebagai pengenal validasi untuk permintaan berikutnya terhadap sumber daya yang sama. Saat klien meminta sumber daya tersebut lagi, tag tersebut disertakan dalam header permintaan. Jika server memvalidasi tag tersebut dan menentukan bahwa sumber daya belum diperbarui, server merespons dengan kode status HTTP 304. Hal ini menunjukkan bahwa klien dapat terus menggunakan salinan cache lokalnya. Jika server menemukan ketidakcocokan, artinya sumber daya telah dimodifikasi, dan klien harus mengambil kembali konten sumber daya tersebut.

    Berikut adalah header HTTP umum yang mengontrol versi cache:

    Nama Header

    Versi Protokol

    Fungsi

    Nilai Contoh

    Jenis

    Last-Modified

    HTTP/1.0

    Last-Modified menunjukkan waktu modifikasi terakhir sumber daya.

    Last-Modified: Wed, 21 Oct 2015 07:28:00 GMT

    Tanggapan

    ETag

    HTTP/1.1

    ETag menyediakan pengenal unik untuk versi tertentu dari sumber daya.

    Membandingkan ETag dapat menentukan apakah sumber daya telah berubah. Jika tidak berubah, server asal tidak perlu mengirimkan respons lengkap.

    ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"

    Tanggapan

  3. Mekanisme negosiasi salinan ganda

    Perangkat lunak caching menggunakan kata kunci untuk mengindeks objek yang di-cache pada disk. Dalam HTTP/1.0, URL sumber daya digunakan sebagai kata kunci. Namun, sumber daya berbeda mungkin berbagi URL yang sama. Untuk membedakannya, klien harus memberikan informasi tambahan, seperti header Accept-Language dan Accept-Charset. Untuk mendukung mekanisme negosiasi konten ini, HTTP/1.1 memperkenalkan header Vary dalam pesan respons. Header ini menentukan header mana dari pesan permintaan yang digunakan untuk negosiasi konten.

    Mekanisme negosiasi salinan ganda biasanya menggunakan header HTTP Vary untuk membedakan antara salinan cache yang berbeda. Hal ini memungkinkan klien berbeda yang meminta sumber daya yang sama menerima versi berbeda dari sumber daya tersebut:

    Nama Header

    Versi Protokol

    Deskripsi

    Nilai Contoh

    Jenis

    Vary

    HTTP/1.1

    Contoh umum:

    • Server menentukan Vary: Accept-Encoding untuk memberi tahu penerima (seperti POP DCDN) bahwa dua versi sumber daya (terkompresi dan tidak terkompresi) perlu di-cache untuk sumber daya ini. Saat klien meminta sumber daya yang sama dari DCDN, browser lama mendapatkan sumber daya tidak terkompresi (untuk menghindari masalah kompatibilitas), sedangkan browser baru mendapatkan sumber daya terkompresi (untuk mengurangi lalu lintas transmisi data).

    • Server menentukan Vary: User-Agent untuk mengidentifikasi jenis browser yang mengirim permintaan, memberi tahu penerima (seperti POP DCDN) untuk meng-cache versi sumber daya yang sesuai berdasarkan jenis browser.

    Vary: Accept-Encoding

    Vary: Accept-Encoding,User-Agent

    Tanggapan

Contoh konfigurasi

Contoh 1: Untuk menyimpan file .txt dalam cache selama tujuh hari, Anda dapat menambahkan aturan cache untuk ekstensi file .txt di konsol DCDN dan mengatur waktu kedaluwarsa cache menjadi 7 hari.

image.png

Contoh 2: Kebijakan cache berikut dikonfigurasi untuk nama domain yang dipercepat demo.aliyun.com. Saat node DCDN mengambil sumber daya http://demo.aliyun.com/image/example.png dari server asal, kedua aturan cocok. Karena kedua aturan memiliki bobot yang sama, aturan yang dibuat lebih awal memiliki prioritas lebih tinggi. Aturan untuk direktori /image dibuat lebih awal dan karenanya diterapkan.image.png

Operasi API terkait

Konfigurasi nama domain secara batch