Expires header adalah bagian dari protokol HTTP yang memberikan instruksi kepada browser untuk menyimpan salinan dari suatu file di cache setelah mengunduhnya untuk waktu yang ditentukan. Dengan menggunakan Expires header, server web dapat mengatur berapa lama file yang telah diunduh akan tetap ada di cache browser sebelum browser perlu mengambil salinan yang baru dari server.
1. Fungsi Expires header
Fungsi utama Expires header adalah untuk mengoptimalkan kinerja situs web secara keseluruhan dengan meminimalkan jumlah permintaan yang perlu dikirimkan ke server. Dengan menyimpan salinan file di cache browser, pengguna akan dapat mengakses halaman web lebih cepat, mengurangi waktu pemuatan halaman, dan mengurangi beban server. Expires header juga membantu menghemat pemakaian bandwidth karena permintaan yang dilakukan oleh browser akan berkurang.
2. Format Expires header
Expires header memiliki format yang ditentukan, yaitu:
Expires: [hari], [tanggal] [bulan] [tahun] [jam]:[menit]:[detik] [timezone]
Hari dapat berupa hari dalam bahasa Inggris (Mon, Tue, Wed, Thu, Fri, Sat, Sun) atau singkatannya (M, T, W, Th, F, Sa, Su). Tanggal, bulan, tahun, jam, menit, dan detik mengacu pada waktu UTC. Timezone adalah penanda zona waktu yang digunakan.
3. Pengaturan waktu Expires header
Server dapat mengatur waktu Expires header dalam dua cara:
- Secara absolut:
- Jika waktu absolut dikirim dalam header Expires, browser akan menyimpan salinan file di cache sampai waktu tersebut tiba.
- Contoh:
Expires: Sat, 31 Dec 2022 23:59:59 GMT
- Secara relatif:
- Jika waktu relatif dikirim dalam header Expires, browser akan menyimpan salinan file di cache selama waktu yang ditentukan setelah file diunduh.
- Contoh:
Expires: 3600
(1 jam setelah file diunduh)
4. Keuntungan menggunakan Expires header
- Meningkatkan kecepatan pemuatan halaman web dengan mengurangi waktu yang dibutuhkan untuk mengunduh file dari server.
- Mengurangi beban server dengan mengurangi jumlah permintaan yang perlu dikirim dari browser ke server.
- Menghemat pemakaian bandwidth dengan mengurangi jumlah data yang harus diunduh ke browser setiap kali halaman web diakses.
- Mendukung penggunaan cache browser dengan efektif sehingga pengguna dapat mengakses halaman web lebih cepat dan mengurangi penggunaan sumber daya.
5. Batasan penggunaan Expires header
Terlepas dari manfaatnya, Expires header juga memiliki beberapa batasan, yaitu:
- Expires header hanya berlaku untuk file yang disimpan di cache browser, bukan file yang dimuat melalui AJAX atau JavaScript.
- Browser tidak akan memperbarui salinan file yang ada di cache sebelum waktu yang ditentukan dalam Expires header kedaluwarsa.
- Pengguna dengan waktu sistem yang tidak tepat atau browser yang tidak mendukung Expires header mungkin tidak melihat manfaatnya.
6. Penggunaan kombinasi Expires header dengan Cache-Control header
Untuk maksimalisasi cache browser, Expires header dapat digunakan bersama dengan Cache-Control header. Cache-Control header memberikan instruksi lebih rinci tentang bagaimana file di-cache dan kapan harus memperbarui salinan yang ada.
7. Contoh penggunaan Expires header dalam praktik
Pertimbangkan contoh Expires header berikut:
Expires: Sat, 31 Dec 2022 23:59:59 GMT
Dalam contoh ini, browser akan menyimpan salinan file di cache sampai tanggal dan waktu yang disebutkan. Setelah waktu tersebut, browser harus meminta salinan yang baru dari server.