Lompat ke konten utama

Kompetisi Ajak Teman: hadiah total Rp1.000.000 tunai untuk 3 pengajak terbanyak. Berakhir 29 November 2026. Ikut kompetisi

←

HTTP dan API Web

Pelajaran 14 dari 16

Autentikasi, cache, CORS, dan galat

Cache HTTP: Cache-Control, ETag, dan 304

Setelah pelajaran ini kamu bisa membaca max-age, membedakan no-cache dan no-store, dan memakai ETag dengan If-None-Match untuk validasi ulang.

±13 menitDiperiksa 28 Sep 2026

Materi

Cache menyimpan respons supaya permintaan berikutnya bisa dijawab tanpa menghubungi server. Menurut RFC 9111, respons segar selama umurnya belum melewati masa segarnya, dan basi setelah itu. Cache-Control: max-age=600 menyatakan respons dianggap basi setelah umurnya lebih dari 600 detik. Umur dihitung sejak respons dibuat atau terakhir divalidasi server, dan header Age menyebut berapa detik respons itu sudah tersimpan di cache perantara. Direktif Cache-Control dipisah koma dan namanya tidak membedakan huruf.

Dua direktif yang namanya mirip artinya jauh berbeda. no-store melarang cache menyimpan respons sama sekali, dan dipakai untuk data sensitif. no-cache membolehkan penyimpanan, tetapi respons tidak boleh dipakai sebelum divalidasi ulang ke server. Jadi no-cache bukan berarti jangan simpan.

// Respons pertama
// 200 OK
// Cache-Control: no-cache
// ETag: "menu-v12"

// Permintaan berikutnya memvalidasi salinan:
const headers = { "if-none-match": '"menu-v12"' };
// 304 Not Modified -> pakai salinan lama
// 200 OK + ETag: "menu-v13" -> ganti salinan

Validasi ulang memakai ETag, penanda versi representasi. Klien yang menyimpan respons ber-ETag "menu-v12" mengirim If-None-Match dengan nilai itu. Bila versi di server masih sama, server menjawab 304 Not Modified tanpa badan dan klien memakai salinannya; bila berubah, server menjawab 200 dengan isi baru dan ETag baru.

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 2 dari 3

Respons dibuat server dengan Cache-Control: max-age=900. Salinannya di cache perantara membawa header Age: 640. Berapa detik lagi respons itu masih segar?

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke