Antecedentes
Estoy escribiendo y usando una herramienta de administración de contenido basada en CGI (Perl) muy simple para dos sitios web pro-bono. Proporciona al administrador del sitio web formularios HTML para eventos en los que rellenan los campos (fecha, lugar, título, descripción, enlaces, etc.) y los guardan. En ese formulario, permito que el administrador cargue una imagen relacionada con el evento. En la página HTML que muestra el formulario, también estoy mostrando una vista previa de la imagen cargada (etiqueta img HTML).
El problema
El problema ocurre cuando el administrador quiere cambiar la imagen. Simplemente tendría que presionar el botón "buscar", elegir una nueva imagen y presionar ok. Y esto funciona bien.
Una vez que se carga la imagen, mi CGI de back-end maneja la carga y vuelve a cargar el formulario correctamente.
El problema es que la imagen que se muestra no se actualiza. La imagen anterior todavía se muestra, aunque la base de datos contiene la imagen correcta. Lo he reducido al hecho de que la IMAGEN ESTÁ CACHADA en el navegador web. Si el administrador presiona el botón RELOAD en Firefox / Explorer / Safari, todo se actualiza bien y la nueva imagen simplemente aparece.
Mi solución: no funciona
Estoy tratando de controlar el caché escribiendo una instrucción HTTP Expires con una fecha muy lejana en el pasado.
Expires: Mon, 15 Sep 2003 1:00:00 GMT
Recuerde que estoy en el lado administrativo y realmente no me importa si las páginas tardan un poco más en cargarse porque siempre están vencidas.
Pero, esto tampoco funciona.
Notas
Al cargar una imagen, su nombre de archivo no se guarda en la base de datos. Se renombra como Image.jpg (para simplificar las cosas al usarlo). Al reemplazar la imagen existente por una nueva, el nombre tampoco cambia. Solo cambia el contenido del archivo de imagen.
El servidor web es proporcionado por el servicio de alojamiento / ISP. Utiliza Apache.
Pregunta
¿Hay alguna manera de obligar al navegador web a NO almacenar en caché cosas de esta página, ni siquiera imágenes?
Estoy haciendo malabarismos con la opción de "guardar el nombre de archivo" con la base de datos. De esta manera, si se cambia la imagen, el src de la etiqueta IMG también cambiará. Sin embargo, esto requiere muchos cambios en todo el sitio y prefiero no hacerlo si tengo una mejor solución. Además, esto todavía no funcionará si la nueva imagen cargada tiene el mismo nombre (digamos que la imagen se retocó un poco y se volvió a cargar).