Digital Transformation

Cache-Control (Header Kontrol Cache)

Vito Atmo
Vito Atmo·3 Mei 2026·0 kali dibaca·2 min baca

TL;DR: Cache-Control adalah header HTTP yang menentukan bagaimana browser dan CDN menyimpan dan memvalidasi respons sebuah halaman atau aset. Konfigurasi yang tepat memangkas waktu muat ulang, menurunkan beban server, dan menstabilkan skor Core Web Vitals, sementara konfigurasi yang salah bisa menyebabkan pengguna melihat versi lama atau gagal melihat update sama sekali.

Apa itu Cache-Control?

Cache-Control adalah salah satu header utama dalam protokol HTTP/1.1 dan HTTP/2. Ia berfungsi sebagai instruksi dari server ke pihak yang melakukan caching, baik browser pengguna, CDN, proxy, atau service worker. Header ini menggantikan peran header lama seperti Expires dan Pragma, walau kompatibilitas keduanya masih terjaga.

Beberapa direktif yang sering dipakai:

  • public: respons boleh di-cache siapa pun, termasuk CDN
  • private: respons hanya boleh di-cache browser pengguna
  • no-store: respons tidak boleh disimpan
  • max-age=N: cache valid selama N detik
  • s-maxage=N: max-age khusus untuk shared cache (CDN)
  • stale-while-revalidate=N: boleh sajikan cache lama selama N detik sambil minta versi baru di background
  • must-revalidate: setelah expired wajib validasi ke server

Pola Caching Praktis

Jenis asetStrategi
HTML halaman utamaprivate, max-age=0, must-revalidate
CSS atau JS dengan hash di nama filepublic, max-age=31536000, immutable
Gambar produkpublic, max-age=86400, stale-while-revalidate=604800
Respons APIprivate, no-store untuk data sensitif

Kenapa Penting?

Cache-Control yang tepat adalah salah satu lever paling murah untuk menaikkan performa. Dalam beberapa proyek website bisnis Indonesia yang saya tangani, perbaikan strategi cache di CDN saja menurunkan waktu muat halaman ulang sebesar 30 sampai 60 persen, dengan dampak langsung ke bounce rate. Praktik standar mengikuti panduan caching dari web.dev.

Pertanyaan Umum

Apa beda max-age dan s-maxage?

max-age berlaku untuk semua cache, termasuk browser pengguna. s-maxage hanya berlaku untuk shared cache seperti CDN, dan menimpa nilai max-age di lapisan tersebut. Ini memungkinkan strategi cache CDN lebih lama dari cache browser.

Apakah no-cache sama dengan no-store?

Tidak. no-cache artinya respons boleh disimpan, namun harus divalidasi ke server sebelum dipakai ulang. no-store artinya respons sama sekali tidak boleh disimpan di lapisan cache mana pun.

Bagikan