Perbedaan max-age dan s-maxage di header cache-control

25 November 2023
Http
Perbedaan max-age dan s-maxage di header cache-control

Ada perbedaan antara max-age dan s-maxage. max-age dan s-maxage adalah dua direktif yang digunakan dalam header Cache-Control pada protokol HTTP untuk mengontrol perilaku caching di tingkat browser dan proxy server.

Max-age

Max-age dalam header Cache-Control adalah directive yang digunakan untuk menentukan berapa lama (dalam detik) sebuah response dapat dianggap valid dan dapat disimpan di cache pada tingkat browser. Nilai max-age memberitahu browser berapa lama response tersebut dapat diandalkan tanpa harus memvalidasi ulang dengan server.

Contoh penggunaan header Cache-Control dengan max-age:


Cache-Control: max-age=3600

Dalam contoh ini, max-age=3600 berarti response dapat disimpan di cache selama satu jam. Setelah satu jam, browser akan meminta versi terbaru dari server karena data di cache dianggap sudah kadaluwarsa.

Ini membantu dalam meningkatkan kinerja dan mengurangi beban pada server, karena browser dapat mengambil konten dari cache lokalnya selama periode max-age tanpa harus membuat permintaan ke server setiap waktu.

S-maxage

s-maxage dalam header Cache-Control adalah directive yang mirip dengan max-age, tetapi khusus digunakan untuk mengontrol berapa lama sebuah response dapat disimpan di cache pada tingkat shared caches atau proxy server. Nilai s-maxage mengesampingkan nilai max-age untuk shared caches.

Contoh penggunaan header Cache-Control dengan s-maxage:


Cache-Control: s-maxage=1800

Dalam contoh ini, s-maxage=1800 berarti response dapat disimpan di cache di tingkat shared caches (seperti proxy server) selama setengah jam (1800 detik). Jika ada proxy server di antara browser dan server, proxy server akan menggunakan nilai s-maxage untuk menentukan berapa lama response dapat disimpan di cache di tingkat proxy server.

Penting untuk dicatat bahwa jika header s-maxage ada, maka header max-age diabaikan oleh shared caches. Jadi, s-maxage memiliki prioritas lebih tinggi untuk mengontrol caching di tingkat proxy server dibandingkan dengan max-age.

Jadi kesimpulannya adalah max-age itu untuk caching di sisi browser dan s-maxage adalah caching untuk sisi proxy server.

Share