All Products
Search
Document Center

CDN:Konfigurasikan masa kedaluwarsa untuk kode status HTTP

Last Updated:Apr 02, 2026

Saat titik kehadiran (POP) CDN mengambil resource dari server origin Anda, origin mengembalikan kode status HTTP. Secara default, CDN menggunakan header cache dari origin untuk menentukan apakah dan berapa lama kode status tersebut akan di-cache. TTL kode status memungkinkan Anda mengganti perilaku ini: tetapkan durasi cache khusus per kode status sehingga POP dapat langsung melayani respons tersebut ke klien tanpa melakukan pengambilan asal baru hingga TTL-nya kedaluwarsa.

Cara kerja

Sebuah POP menerima permintaan untuk resource yang tidak ada dalam cache-nya. POP tersebut mengambil resource dari origin, yang mengembalikan kode status. Jika Anda telah mengonfigurasi TTL untuk kode status tersebut, POP akan menyimpannya dalam cache selama durasi yang dikonfigurasi. Selama periode tersebut, permintaan berikutnya untuk resource yang sama langsung menerima kode status dari cache—tanpa pengambilan asal. Saat TTL kedaluwarsa, permintaan berikutnya akan memicu pengambilan asal baru.

Kasus penggunaan: Sebuah file dihapus dari server origin, tetapi klien terus memintanya. Tanpa TTL yang dikonfigurasi, setiap permintaan mencapai origin dan menerima respons 404, sehingga meningkatkan beban origin. Setelah Anda mengonfigurasi TTL 10 detik untuk kode 404, POP menyimpan respons 404 pertama dalam cache dan melayaninya langsung selama 10 detik berikutnya.

Perilaku caching default

Tabel berikut merangkum cara CDN menangani kode status abnormal ketika TTL tidak dikonfigurasi di Konsol dan origin tidak mengembalikan header Set-Cookie.

Kelompok kode statusPerilaku default (tanpa konfigurasi di Konsol, tanpa Set-Cookie)
204, 305, 404, 405, 414, 424, 429, 500, 501, 502, 503, 504Di-cache berdasarkan header Pragma, Cache-Control, atau Expires dari origin. Jika tidak ada header tersebut, di-cache selama 1 detik.
302, 307, 403Di-cache berdasarkan header Pragma, Cache-Control, atau Expires dari origin. Jika tidak ada header tersebut, tidak di-cache.
304Tidak pernah di-cache. Anda tidak dapat mengonfigurasi TTL untuk kode status ini.
Kode abnormal lainnya (misalnya, 400)Tidak di-cache kecuali Anda mengonfigurasi TTL di Konsol.
Jika origin mengembalikan header Set-Cookie, CDN tidak meng-cache respons tersebut terlepas dari kode status atau konfigurasi di Konsol.

Aturan cache untuk kode status abnormal

Kode status 204, 305, 404, 405, 414, 424, 429, 500, 501, 502, 503, 504

image
  1. Jika origin mengembalikan header respons set-cookie, CDN tidak meng-cache respons tersebut.

  2. Jika origin tidak mengembalikan header Set-Cookie, respons di-cache selama durasi yang Anda konfigurasikan di Konsol CDN. Untuk detail tentang interaksi beberapa aturan, lihat Prioritas beberapa aturan.

  3. Jika tidak ada header Set-Cookie dan TTL tidak dikonfigurasi di Konsol, respons di-cache berdasarkan header respons Pragma, Cache-Control, atau Expires dari origin.

  4. Jika tidak satu pun kondisi di atas berlaku — tidak ada Set-Cookie, tidak ada konfigurasi di Konsol, dan tidak ada header Pragma, Cache-Control, atau Expires — respons di-cache selama 1 detik.

Kode status 302, 307, 403

image
  1. Jika origin mengembalikan header respons set-cookie, CDN tidak meng-cache respons tersebut.

  2. Jika origin tidak mengembalikan header Set-Cookie, respons di-cache selama durasi yang Anda konfigurasikan di Konsol CDN.

  3. Jika tidak ada header Set-Cookie dan TTL tidak dikonfigurasi di Konsol, respons di-cache berdasarkan header respons Pragma, Cache-Control, atau Expires dari origin.

  4. Jika tidak satu pun kondisi di atas berlaku, respons tidak di-cache (berbeda dengan kelompok sebelumnya, tidak ada fallback 1 detik).

Kode status 304

CDN tidak meng-cache respons 304. Anda tidak dapat mengonfigurasi TTL untuk kode status ini.

Kode status abnormal lainnya (misalnya, 400)

  1. Jika origin mengembalikan header respons set-cookie, CDN tidak meng-cache respons tersebut.

  2. Jika origin tidak mengembalikan header Set-Cookie, respons di-cache selama durasi yang Anda konfigurasikan di Konsol CDN.

  3. Dalam semua skenario lainnya, respons tidak di-cache.

Perilaku range origin fetch

Dalam range origin fetch, origin membagi file besar menjadi shard-shard kecil dan mengembalikannya ke POP secara berurutan. Jika POP menerima kode status bukan 206 dari origin selama range origin fetch, semua shard yang sebelumnya di-cache untuk file tersebut akan dihapus.

Contoh: Sebuah file dibagi menjadi 10 shard. POP telah menyimpan lima shard dalam cache. Saat POP meminta shard keenam, origin mengembalikan kode status 5xx. CDN menghapus kelima shard yang sebelumnya di-cache.

Timeout pada origin fetch tidak menyebabkan shard yang di-cache dihapus.

Prioritas beberapa aturan

Saat sebuah permintaan cocok dengan lebih dari satu aturan cache untuk kode status yang sama, hanya satu aturan yang berlaku. CDN menentukan aturan yang efektif sebagai berikut:

  1. Jenis memiliki prioritas lebih tinggi: Aturan File Extension memiliki prioritas lebih tinggi daripada aturan Directory.

  2. Waktu pembuatan sebagai penentu seri: Jika beberapa aturan memiliki jenis yang sama, aturan yang dibuat lebih dulu (ditampilkan lebih tinggi dalam daftar aturan) yang berlaku.

Urutan evaluasi adalah: File Extension > Directory, dan untuk jenis yang sama, older > newer.

Buat aturan cache kode status

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

  • Nama domain CDN Alibaba Cloud yang telah dikonfigurasi dan aktif

  • Akses ke Konsol CDN

Langkah-langkah

  1. Masuk ke Konsol CDN.

  2. Di panel navigasi kiri, klik Domain Names.

  3. Di halaman Domain Names, temukan nama domain target dan klik Manage di kolom Actions.

  4. Di panel navigasi domain, klik Cache.

  5. Klik tab Status Code TTL.

  6. Klik Create Rule. Konfigurasikan parameter berikut:

    ParameterDeskripsi
    TypePilih Directory atau File Extension. Aturan File Extension memiliki prioritas lebih tinggi daripada aturan Directory.
    ObjectDirectory: Masukkan path lengkap satu direktori. Path harus diawali dengan garis miring (/). Contohnya, /directory/aaa. File Extension: Masukkan satu atau beberapa ekstensi file yang dipisahkan koma. Contohnya, jpg,txt. Aturan bersifat case-sensitive: jpg dan JPG dianggap sebagai ekstensi berbeda, dan aturan berikutnya untuk ekstensi yang sama (dengan huruf kapital berbeda) akan menimpa aturan sebelumnya. Tanda bintang (*) tidak didukung.
    Expire InTentukan kode status dan durasi cache-nya. Durasi maksimum adalah tiga tahun. Satuan dalam detik. Pisahkan beberapa kode status dengan koma. Untuk kode 2xx dan 3xx, hanya tentukan kode individual (misalnya, 201=10). Pola wildcard seperti 2xx=12 tidak didukung untuk kode 2xx dan 3xx. Untuk kode 4xx dan 5xx, baik kode individual (misalnya, 401=10) maupun pola wildcard (misalnya, 4xx=12) didukung.
    Honor Origin TTLJika diaktifkan dan origin mengembalikan header Cache-Control atau Pragma, kebijakan cache origin akan menggantikan TTL yang dikonfigurasi.
    Ignore Origin No-Cache HeaderJika diaktifkan, POP CDN mengabaikan header-header berikut dari origin: Cache-Control: no-store, Cache-Control: no-cache, Cache-Control: max-age=0, dan Pragma: no-cache.
    Follow POP Cache PolicyJika diaktifkan, POP CDN mengembalikan kebijakan cache efektif akhir ke klien.
    Force RevalidationHanya berlaku saat durasi cache diatur ke 0. Shutdown (default): Node CDN tidak meng-cache konten. Setiap permintaan melakukan pengambilan asal. Enabled: Node CDN meng-cache konten, tetapi setiap permintaan melakukan pengambilan asal untuk memvalidasi ulang konten yang di-cache sebelum melayaninya.

    image

  7. Klik OK.

Aturan tersebut muncul dalam daftar di tab Expire In. Untuk memperbarui atau menghapus aturan, klik Modify atau Delete pada baris aturan tersebut.

Contoh konfigurasi

Contoh 1: Aturan direktori

示例一

Aturan ini menargetkan direktori /directory/aaa. Untuk permintaan dalam direktori ini, semua kode status 4xx di-cache selama 10 detik dan kode status 201 di-cache selama 15 detik. Selama periode tersebut, POP merespons langsung tanpa melakukan pengambilan asal. Setelah durasi cache kedaluwarsa, permintaan berikutnya akan memicu pengambilan asal.

Contoh 2: Aturan ekstensi file

示例二

Aturan ini menargetkan file .jpg dan .txt. Untuk file-file ini, kode status 403 di-cache selama 10 detik dan kode status 404 di-cache selama 15 detik.

Contoh 3: Prioritas saat jenis aturan berbeda

示例三

Aturan direktori dan aturan ekstensi file dikonfigurasi dengan TTL berbeda untuk kode status 404. Seorang klien meminta http://example.com/directory/aaa/test.jpg. Resource tidak di-cache. POP mengambilnya dari origin, yang mengembalikan 404. Permintaan ini cocok dengan kedua aturan. Karena File Extension > Directory, aturan ekstensi file yang berlaku, dan kode status 404 di-cache selama 20 detik.

Contoh 4: Prioritas saat jenis aturan sama

示例四

Aturan Direktori 1 menargetkan /directory. Aturan Direktori 2 menargetkan /directory/aaa. Keduanya memberikan TTL berbeda untuk kode status 404. Seorang klien meminta http://example.com/directory/aaa/test.jpg. Permintaan ini cocok dengan kedua aturan direktori. Karena lebih lama > lebih baru untuk aturan dengan jenis yang sama, Aturan Direktori 1 (dibuat lebih dulu) yang berlaku, dan kode status 404 di-cache selama 15 detik.

Referensi API

Untuk mengonfigurasi TTL kode status menggunakan API, gunakan BatchSetCdnDomainConfig.