Latar Belakang
Saya menulis dan menggunakan alat manajemen konten berbasis CGI (Perl) yang sangat sederhana untuk dua situs web pro-bono. Ini memberi administrator situs web formulir HTML untuk acara di mana mereka mengisi bidang (tanggal, tempat, judul, deskripsi, tautan, dll.) Dan menyimpannya. Pada formulir itu saya mengizinkan administrator untuk mengunggah gambar yang terkait dengan acara tersebut. Pada halaman HTML yang menampilkan formulir, saya juga menampilkan pratinjau dari gambar yang diunggah (tag img HTML).
Masalah
Masalah terjadi ketika administrator ingin mengubah gambar. Dia hanya perlu menekan tombol "browse", pilih gambar baru dan tekan ok. Dan ini bekerja dengan baik.
Setelah gambar diunggah, CGI back-end saya menangani unggahan dan memuat ulang formulir dengan benar.
Masalahnya adalah gambar yang ditampilkan tidak refresh. Gambar lama masih ditampilkan, meskipun database menyimpan gambar yang benar. Saya telah mempersempitnya menjadi fakta bahwa GAMBAR DI-cache di browser web. Jika administrator menekan tombol RELOAD di Firefox / Explorer / Safari, semuanya akan disegarkan dengan baik dan gambar baru baru saja muncul.
Solusi Saya - Tidak Berfungsi
Saya mencoba mengontrol cache dengan menulis instruksi HTTP Expires dengan tanggal yang sangat jauh di masa lalu.
Expires: Mon, 15 Sep 2003 1:00:00 GMT
Ingatlah bahwa saya berada di sisi administrasi dan saya tidak terlalu peduli jika halaman membutuhkan waktu lebih lama untuk memuat karena selalu kedaluwarsa.
Tapi, ini juga tidak berhasil.
Catatan
Saat mengunggah gambar, nama filenya tidak disimpan di database. Ini diubah namanya menjadi Image.jpg (untuk saat menggunakannya). Saat mengganti gambar yang ada dengan yang baru, namanya juga tidak berubah. Hanya konten file gambar yang berubah.
Server web disediakan oleh layanan hosting / ISP. Ini menggunakan Apache.
Pertanyaan
Adakah cara untuk memaksa browser web agar TIDAK menyimpan sesuatu dari halaman ini, bahkan gambar pun tidak?
Saya menyulap dengan opsi untuk benar-benar "menyimpan nama file" dengan database. Dengan cara ini, jika gambar diubah, src dari tag IMG juga akan berubah. Namun, ini membutuhkan banyak perubahan di seluruh situs dan saya lebih suka tidak melakukannya jika saya memiliki solusi yang lebih baik. Selain itu, ini tetap tidak akan berfungsi jika gambar baru yang diunggah memiliki nama yang sama (katakanlah gambar di-photoshop sedikit dan diunggah ulang).