Recarga de página completa en Post / Redirect / Get ignorando el control de caché

Tengo una página que carga muchas imágenes, CSS y JavaScript. Agregué un encabezado Expires de futuro lejano y configuré Cache-Control como público en estas dependencias externas para que se almacenen en caché. Pero cada vez que hago un Post / Redirect / Get Chrome intenta cargar estos nuevamente. Este comportamiento es muy similar a la recarga de la página. He agregado ETags y manejo el encabezado If-None-Match que ayuda un poco, pero aún genera demasiadas solicitudes inútiles.

¿Cómo le digo a Chrome y Safari que obtengan los archivos del caché?

chrome   NOK
safari   NOK
firefox  OK
ie       OK

Ver tambiénRecarga de página completa en Post / Redirect / Get ignorando el control de caché en el foro de soporte de google.

Aclaración:

No quiero que el navegador soliciteimage1.png dos veces. Debería estar en caché.

200 GET  page1.html
200 GET  image1.png (Cache-Control: public, Expires and ETag)
302 POST action.asp (form submitted from page1.html, redirects)
200 GET  page2.html
304 GET  image1.png (If-None-Match)

Ejemplo:

He creado un ejemplo simple para ilustrar el problema.

http://crydust.be/lab/prg/

Encabezados:

Los encabezados que envío con la imagen son:

HTTP/1.1 200 OK
Date: Fri, 18 Jun 2010 11:30:22 GMT
Server: Apache
Cache-Control: public, max-age=86400
Expires: Sat, 19 Jun 2010 11:30:24 GMT
Etag: "123"
Content-Length: 866
Content-Type: image/png

Lo que debería hacerlo en caché durante 24 horas. No hay Vary: * ni nada por el estilo.

Actualizar: Este comportamiento ahora también está presente en Safari Mobile en iOS 4. Una regresión horrible en la velocidad de carga de la página.

Actualizar: Hay un informe de error sobre este problema en el webkit bugzilla.Error 38690: el envío de una POST que conduce a una redirección del servidor hace que todos los elementos almacenados en caché se vuelvan a descargar

Actualizar: El problema persiste en iOS 4.0.1

Actualizar: El problema persiste en iOS 4.1

Actualizar: El problema persiste en iOS 4.2

Actualizar: El problema persiste en iOS 4.2.1 y en Chrome desde la versión 6 hasta la 9.

Actualizar: Hay un informe de error sobre este problema en el proyecto Chromium. (puedes marcarlo para demostrar que te importa)Problema 68621: Publicar / Redirigir / Obtener ignorar las instrucciones de caché

Actualizar: El problema persiste en Chrome desde la versión 6 hasta la 10. Ahora es un error de 9 meses.

Actualizar: El problema se solucionó a partir del 2011-03-21 19:33:07 PST. Esto se refleja en el comportamiento del cromo 12 (canario).

Respuestas a la pregunta(3)

Su respuesta a la pregunta