Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Mengelola berapa lama konten tetap dalam cache (kedaluwarsa)

Mode fokus
Mengelola berapa lama konten tetap dalam cache (kedaluwarsa) - Amazon CloudFront

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Anda dapat mengontrol berapa lama file Anda berada dalam CloudFront cache sebelum CloudFront meneruskan permintaan lain ke asal Anda. Mengurangi durasi memungkinkan Anda untuk melayani konten dinamis. Peningkatan durasi berarti bahwa pengguna Anda mendapatkan kinerja yang lebih baik karena file Anda lebih mungkin dilayani secara langsung dari edge cache. Durasi yang lebih lama juga mengurangi beban yang berasal dari Anda.

Biasanya, CloudFront menyajikan file dari lokasi tepi hingga durasi cache yang Anda tentukan lewat — yaitu, hingga file kedaluwarsa. Setelah kedaluwarsa, saat berikutnya lokasi tepi mendapat permintaan untuk file tersebut, CloudFront teruskan permintaan ke asal untuk memverifikasi bahwa cache berisi versi terbaru dari file tersebut. Tanggapan dari sumber tergantung pada apakah file telah berubah:

  • Jika CloudFront cache sudah memiliki versi terbaru, asal mengembalikan kode status304 Not Modified.

  • Jika CloudFront cache tidak memiliki versi terbaru, asal mengembalikan kode status 200 OK dan versi terbaru file.

Jika file di lokasi tepi tidak sering diminta, CloudFront mungkin mengusir file — hapus file sebelum tanggal kedaluwarsa — untuk memberi ruang bagi file yang telah diminta baru-baru ini.

Sebaiknya mengelola durasi cache Anda dengan memperbarui kebijakan cache distribusi Anda. Jika Anda memilih untuk tidak menggunakan kebijakan cache, TTL default (Time to Live) adalah 24 jam, tetapi Anda dapat memperbarui pengaturan berikut untuk mengganti default:

Untuk informasi selengkapnya tentang bagaimana TTL Minimum, TTL Default, dan TTL Maksimum berinteraksi dengan s-maxage arahan max-age dan bidang Expires header, lihat. Tentukan jumlah waktu yang menyimpan objek dalam CloudFront cache

Anda juga dapat mengontrol berapa lama kesalahan (misalnya,404 Not Found) tinggal di CloudFront cache sebelum CloudFront mencoba lagi untuk mendapatkan objek yang diminta dengan meneruskan permintaan lain ke asal Anda. Untuk informasi selengkapnya, lihat Bagaimana CloudFront memproses kode status HTTP 4xx dan 5xx dari asal Anda.

Gunakan header untuk mengontrol durasi cache untuk masing-masing objek

Anda dapat menggunakan Cache-Control dan Expires header untuk mengontrol berapa lama objek tetap berada di dalam cache. Pengaturan untuk TTL Minimum, TTL bawaan, dan TTL Maksimum juga memengaruhi durasi cache, tetapi berikut ini gambaran umum tentang bagaimana header dapat memengaruhi durasi cache:

  • Cache-Control max-ageDirektif memungkinkan Anda menentukan berapa lama (dalam detik) bahwa Anda ingin objek tetap berada di cache sebelum CloudFront mendapatkan objek lagi dari server asal. CloudFrontDukungan waktu kedaluwarsa minimum adalah 0 detik. Nilai maksimumnya adalah 100 tahun. Tentukan nilai dalam format berikut:

    Cache-Control: max-age=seconds

    Misalnya, arahan berikut memberitahu CloudFront untuk menyimpan objek terkait dalam cache selama 3600 detik (satu jam):

    Cache-Control: max-age=3600

    Jika Anda ingin objek tetap berada di cache CloudFront tepi untuk durasi yang berbeda dari yang berada di cache browser, Anda dapat menggunakan Cache-Control s-maxage arahan Cache-Control max-age dan bersama-sama. Untuk informasi selengkapnya, lihat Tentukan jumlah waktu yang menyimpan objek dalam CloudFront cache.

  • Expires kolom header memungkinkan Anda menentukan tanggal dan waktu kedaluwarsa menggunakan format yang ditentukan dalam RFC 2616, Protokol Transfer Hiperteks -- HTTP/1.1 Bagian 3.3.1, Tanggal Penuh, misalnya:

    Sat, 27 Jun 2015 23:59:59 GMT

Kami sarankan Anda menggunakan Cache-Control max-age lebih langsung, bukan Expires kolom header untuk mengontrol caching objek. Jika Anda menentukan nilai baik untuk Cache-Control max-age dan untukExpires, hanya CloudFront menggunakan nilaiCache-Control max-age.

Untuk informasi selengkapnya, lihat Tentukan jumlah waktu yang menyimpan objek dalam CloudFront cache.

Anda tidak dapat menggunakan bidang HTTP Cache-Control atau Pragma header dalam GET permintaan dari penampil CloudFront untuk memaksa kembali ke server asal untuk objek tersebut. CloudFront mengabaikan bidang header tersebut dalam permintaan penampil.

Untuk informasi lebih lanjut tentang Cache-Control dan Expires kolom header, lihat bagian berikut di RFC 2616, Protokol Transfer Hiperteks -- HTTP/1.1:

Sajikan konten basi (kedaluwarsa)

CloudFront mendukung arahan kontrol Stale-While-Revalidate dan Stale-If-Error cache. Anda dapat menggunakan arahan ini untuk menentukan berapa lama konten basi tersedia untuk pemirsa.

Stale-While-Revalidate

Arahan ini memungkinkan CloudFront untuk menyajikan konten basi dari cache sementara secara CloudFront asinkron mengambil versi baru dari asal. Ini meningkatkan latensi karena pemirsa menerima tanggapan langsung dari lokasi tepi tanpa harus menunggu pengambilan latar belakang. Konten segar dimuat di latar belakang untuk permintaan future.

contoh Contoh: Stale-While-Revalidate

CloudFront melakukan hal berikut ketika Anda mengatur Cache-Control header untuk menggunakan arahan ini.

Cache-Control: max-age=3600, stale-while-revalidate=600
  1. CloudFront akan menyimpan respons selama satu jam (max-age=3600).

  2. Jika permintaan dibuat setelah durasi ini, CloudFront menyajikan konten basi, sementara secara bersamaan mengirim permintaan ke asal untuk memvalidasi ulang dan menyegarkan konten yang di-cache.

  3. Saat konten sedang divalidasi ulang, CloudFront menyajikan konten basi hingga 10 menit (). stale-while-revalidate=600

catatan

CloudFront akan menyajikan konten basi hingga nilai stale-while-revalidate direktif atau nilai TTL CloudFront maksimum, mana yang kurang. Setelah durasi TTL maksimum, objek basi tidak akan tersedia dari cache tepi, terlepas dari nilainya. stale-while-revalidate

Stale-If-Error

Arahan ini memungkinkan CloudFront untuk menyajikan konten basi dari cache jika asal tidak dapat dijangkau atau mengembalikan kode kesalahan antara 500 dan 600. Ini memastikan bahwa pemirsa dapat mengakses konten bahkan selama pemadaman asal.

contoh Contoh: Stale-If-Error

CloudFront melakukan hal berikut ketika Anda mengatur Cache-Control header untuk menggunakan arahan ini.

Cache-Control: max-age=3600, stale-if-error=86400
  1. CloudFront cache respons selama satu jam (max-age=3600).

  2. Jika asal tidak aktif atau mengembalikan kesalahan setelah durasi ini, CloudFront terus menyajikan konten basi hingga 24 jam () stale-if-error=86400

  3. Jika Anda mengonfigurasi respons kesalahan kustom, CloudFront akan mencoba menyajikan konten basi jika terjadi kesalahan dalam stale-if-error durasi yang ditentukan. Jika konten basi tidak tersedia, maka CloudFront akan menyajikan respons kesalahan kustom yang Anda konfigurasikan untuk kode status kesalahan yang sesuai. Untuk informasi selengkapnya, lihat Hasilkan respons kesalahan khusus.

Catatan
  • CloudFront akan menyajikan konten basi hingga nilai stale-if-error direktif atau nilai TTL CloudFront maksimum, mana yang kurang. Setelah durasi TTL maksimum, objek basi tidak akan tersedia dari cache tepi, terlepas dari nilainya. stale-if-error

  • Jika Anda tidak mengonfigurasi stale-if-error atau respons kesalahan kustom, CloudFront akan mengembalikan objek basi atau meneruskan respons kesalahan kembali ke penampil, tergantung pada apakah objek yang diminta ada di cache tepi atau tidak. Untuk informasi selengkapnya, lihat Cara CloudFront memproses kesalahan jika Anda belum mengonfigurasi halaman kesalahan kustom.

Gunakan kedua arahan

Keduanya stale-while-revalidate dan stale-if-error merupakan arahan kontrol cache independen yang dapat Anda gunakan bersama untuk mengurangi latensi dan menambahkan buffer agar asal Anda merespons atau memulihkan.

contoh Contoh: Menggunakan kedua arahan

CloudFront melakukan hal berikut ketika Anda mengatur Cache-Control header untuk menggunakan arahan berikut.

Cache-Control: max-age=3600, stale-while-revalidate=600, stale-if-error=86400
  1. CloudFront cache respons selama satu jam (max-age=3600).

  2. Jika permintaan dibuat setelah durasi ini, CloudFront menyajikan konten basi hingga 10 menit (stale-while-revalidate=600) saat konten sedang divalidasi ulang.

  3. Jika server asal mengembalikan kesalahan saat CloudFront mencoba memvalidasi ulang konten, CloudFront akan terus menyajikan konten basi hingga 24 jam (). stale-if-error=86400

Caching adalah keseimbangan antara kinerja dan kesegaran. Menggunakan arahan seperti stale-while-revalidate dan stale-if-error dapat meningkatkan kinerja dan pengalaman pengguna, tetapi pastikan konfigurasi selaras dengan seberapa segar konten yang Anda inginkan. Arahan konten basi paling cocok untuk kasus penggunaan di mana konten perlu disegarkan tetapi memiliki versi terbaru tidak penting. Selain itu, jika konten Anda tidak berubah atau jarang berubah, stale-while-revalidate dapat menambahkan permintaan jaringan yang tidak perlu. Sebagai gantinya, pertimbangkan untuk mengatur durasi cache yang panjang.

Tentukan jumlah waktu yang menyimpan objek dalam CloudFront cache

Untuk mengontrol jumlah waktu yang CloudFront menyimpan objek dalam cache sebelum mengirim permintaan lain ke asal, Anda dapat:

  • Tetapkan nilai TTL minimum, maksimum, dan default dalam perilaku cache CloudFront distribusi. Anda dapat mengatur nilai-nilai ini dalam kebijakan cache yang melekat pada perilaku cache (disarankan), atau dalam pengaturan cache warisan.

  • Sertakan Cache-Control atau Expires header dalam tanggapan dari asal. Header ini juga membantu menentukan berapa lama browser menyimpan objek di cache browser sebelum mengirim permintaan lain. CloudFront

Tabel berikut menjelaskan bagaimana header Cache-Control dan Expires yang dikirim dari asal digunakan bersama dengan pengaturan TTL dalam perilaku cache untuk memengaruhi caching.

Header asal TTL minimum = 0 TTL Minimum> 0

Asal menambahkan Cache-Control: max-age direktif ke objek

CloudFront caching

CloudFront cache objek untuk yang lebih rendah dari nilai Cache-Control: max-age direktif atau nilai TTL maksimum. CloudFront

Caching browser

Browser menyimpan cache objek untuk nilai arahan Cache-Control: max-age.

CloudFront caching

CloudFront caching tergantung pada nilai TTL CloudFront minimum dan TTL maksimum dan arahan: Cache-Control max-age

  • Jika minimum TTL < max-age < maksimum TTL, maka CloudFront cache objek untuk nilai direktif. Cache-Control: max-age

  • Jika max-age < minimum TTL, maka CloudFront cache objek untuk nilai TTL CloudFront minimum.

  • Jika max-age > TTL maksimum, maka CloudFront cache objek untuk nilai TTL CloudFront maksimum.

Caching browser

Browser menyimpan cache objek untuk nilai arahan Cache-Control: max-age.

Asal tidak menambahkan Cache-Control: max-age direktif ke objek

CloudFront caching

CloudFront cache objek untuk nilai TTL CloudFront default.

Caching browser

Tergantung pada peramban.

CloudFront caching

CloudFront cache objek untuk nilai TTL CloudFront minimum atau TTL default yang lebih besar.

Caching browser

Tergantung pada peramban.

Asal menambahkan Cache-Control: max-age dan Cache-Control: s-maxage mengarahkan ke objek

CloudFront caching

CloudFront cache objek untuk yang lebih rendah dari nilai Cache-Control: s-maxage direktif atau nilai TTL maksimum. CloudFront

Caching browser

Browser menyimpan cache objek untuk nilai arahan Cache-Control max-age.

CloudFront caching

CloudFront caching tergantung pada nilai TTL CloudFront minimum dan TTL maksimum dan arahan: Cache-Control: s-maxage

  • Jika minimum TTL < s-maxage < maksimum TTL, maka CloudFront cache objek untuk nilai direktif. Cache-Control: s-maxage

  • Jika s-maxage < minimum TTL, maka CloudFront cache objek untuk nilai TTL CloudFront minimum.

  • Jika s-maxage > TTL maksimum, maka CloudFront cache objek untuk nilai TTL CloudFront maksimum.

Caching browser

Browser menyimpan cache objek untuk nilai arahan Cache-Control: max-age.

Asal menambahkan Expires header ke objek

CloudFront caching

CloudFront cache objek sampai tanggal di Expires header atau untuk nilai TTL CloudFront maksimum, mana yang lebih cepat.

Caching browser

Browser menyimpan cache objek hingga tanggal di header Expires.

CloudFront caching

CloudFront caching tergantung pada nilai TTL CloudFront minimum dan TTL maksimum dan header: Expires

  • Jika minimum TTL < Expires < maksimum TTL, maka CloudFront cache objek sampai tanggal dan waktu di header. Expires

  • Jika Expires < minimum TTL, maka CloudFront cache objek untuk nilai TTL CloudFront minimum.

  • Jika Expires > TTL maksimum, maka CloudFront cache objek untuk nilai TTL CloudFront maksimum.

Caching browser

Browser menyimpan cache objek hingga tanggal dan waktu di header Expires.

Origin menambahkan Cache-Control: no-cacheno-store,, dan/atau private arahan ke objek

CloudFront dan browser menghormati header.

CloudFront caching

CloudFront cache objek untuk nilai TTL CloudFront minimum. Lihat peringatan di bawah tabel ini.

Caching browser

Browser mematuhi header.

Awas

Jika TTL minimum Anda lebih besar dari 0, CloudFront gunakan TTL minimum kebijakan cache, meskipunCache-Control: no-cache,no-store, dan/atau private arahan ada di header asal.

Jika asal dapat dijangkau, CloudFront dapatkan objek dari asal dan kembalikan ke penampil.

Jika asal tidak dapat dijangkau dan nilai TTL minimum atau maksimum lebih besar dari 0, CloudFront akan melayani objek yang didapat dari asal sebelumnya.

Untuk menghindari perilaku ini, sertakan arahan Cache-Control: stale-if-error=0 dengan objek yang dikembalikan dari asal. Hal ini menyebabkan CloudFront untuk mengembalikan kesalahan dalam menanggapi permintaan future jika asal tidak dapat dijangkau, daripada mengembalikan objek yang didapatnya dari asal sebelumnya.

Untuk informasi tentang cara mengubah pengaturan untuk distribusi menggunakan CloudFront konsol, lihatPerbarui distribusi. Untuk informasi tentang cara mengubah setelan distribusi menggunakan CloudFront API, lihat UpdateDistribution.

Tambahkan header ke objek Anda dengan menggunakan konsol Amazon S3

Anda dapat menambahkan bidang Cache-Control atau Expires header ke objek Amazon S3 Anda. Untuk melakukannya, Anda memodifikasi bidang metadata untuk objek.

Untuk menambahkan bidang Cache-Control atau Expires header ke objek Amazon S3
  1. Ikuti prosedur di bagian Mengganti metadata yang ditentukan sistem pada metadata objek pengeditan dalam topik konsol Amazon S3 di Panduan Pengguna Amazon S3.

  2. Untuk Kunci, pilih nama header yang Anda tambahkan (Kontrol Cache atau Kedaluwarsa).

  3. Untuk Nilai, masukkan nilai header. Misalnya, untuk header Cache-Control, Anda bisa memasukkan max-age=86400. Untuk Expires, Anda dapat memasukkan tanggal kedaluwarsa dan waktu seperti Wed, 30 Jun 2021 09:28:00 GMT.

  4. Ikuti prosedur lainnya untuk menyimpan perubahan metadata Anda.

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.