Situación: correr un sitio de Google App Engine con default_expiration de mi contenido estático establecido en "14d"¿Cómo puedo obtener el control del comportamiento de caché de Google App Engine en WebKit (etags enloquecidos)?
Problema: en Chrome y Safari, visitando una URL (no recarga, sólo poner el cursor en el barra de direcciones y presionar Enter), provoca que se disparen un montón de solicitudes con los encabezados If-None-Match. Las respuestas son siempre 304 No modificadas, como se esperaba. Puedo ver cómo se desencadenan estas solicitudes en un proxy de depuración como Charles o Fiddler.
Deseo: para evitar estas solicitudes y 304 respuestas enteramente para contenido estático: simplemente confíe en el contenido en caché del navegador cuando esté disponible.
Usamos el estándar "contenido estático de caché durante mucho tiempo, nos encargamos de agregar las modificaciones de la versión = {versión} a nuestras cadenas de consulta cuando necesitamos destruir el sistema de caché", así que Realmente me gusta evitar los 304.
Creencia: Creo que esto es causado por el encabezado etag que el motor de aplicación envía hacia abajo con cada respuesta de contenido estático. El SDK del motor de la aplicación no no envía este encabezado hacia abajo, y no veo este comportamiento 304 al jugar con el SDK.
Algún consejo? ¿Puedes desactivar etags para el contenido estático del motor de la aplicación?
Actualizado con un ejemplo pieza de contenido estático:http://www.khanacademy.org/stylesheets/shared-package/compressed.css
Se puede publicar un enlace a dicho contenido estático? Luego, alguien puede revisar qué encabezados está devolviendo con él (caduca, etc.). –
Buena idea, pregunta actualizada – kamens
Agradable. No soy un experto en los encabezados, pero creo que la respuesta está ahí. Veo Vence el 24 de diciembre, eso se ve bien. También veo un encabezado de Etag, un control de caché y una antigüedad que pueden afectar si el navegador guardará o no el contenido en caché. –