Expires
Penggunaan
Header Expires menyediakan timestamp absolut yang menunjukkan kapan sebuah respons yang di-cache kehilangan kesegarannya. Cache membandingkan timestamp ini dengan waktu saat ini untuk memutuskan apakah salinan tersimpan masih dapat digunakan.
Direktif Cache-Control max-age menggantikan Expires ketika keduanya hadir. Karena max-age menggunakan nilai detik yang relatif alih-alih Date absolut, direktif tersebut menghindari masalah selisih jam antara server dan cache. Kebijakan caching modern mengandalkan Cache-Control sebagai mekanisme kesegaran utama, dengan Expires berperan sebagai cadangan bagi cache lama yang tidak mendukung max-age.
Nilai 0 atau tanggal yang tidak valid menandakan respons tersebut sudah basi. Cache langsung memperlakukan entri itu sebagai kedaluwarsa, memaksa revalidasi atau pengambilan baru pada request berikutnya.
Timestamp mengikuti format IMF-fixdate yang sama seperti yang digunakan header Date:
Expires: <day-name>, <day> <month> <year>
<hour>:<minute>:<second> GMT
Catatan
Ketika Cache-Control: max-age hadir dalam respons yang sama, nilai Expires diabaikan. Utamakan max-age untuk implementasi baru.
Contoh
Sebuah respons yang kedaluwarsa pada hari Rabu pukul 08:00 UTC. Cache mana pun yang menyimpan respons ini setelah waktu tersebut memperlakukan salinannya sebagai basi.
Expires: Wed, 04 Jun 2025 08:00:00 GMT
Sebuah respons yang ditandai sudah kedaluwarsa. Menetapkan nilainya menjadi 0 memaksa cache melakukan revalidasi pada setiap request.
Expires: 0
Sebuah header Expires yang dipasangkan dengan Cache-Control demi kompatibilitas mundur. Direktif max-age lebih diutamakan, memberi respons tersebut masa kesegaran satu jam terlepas dari timestamp Expires.
Cache-Control: max-age=3600
Expires: Thu, 01 Jan 1970 00:00:00 GMT