Pregunta

Trabajando en un proyecto en AS3 Necesito transmitir algunos archivos para realizar pruebas de ancho de banda. Los archivos deben provenir del CDN (el proxy más cercano del cliente) para que la prueba de ancho de banda sea confiable.

Por supuesto, si los archivos remotos se almacenan en caché en el navegador del cliente, la prueba de ancho de banda no sería confiable.

Por lo general, agregaría una marca de tiempo en las variables GET para engañar al caché de los clientes. Pero puedo imaginar que es una muy mala práctica trabajar con un CDN.

Así que mi pregunta es:

¿Cómo forzar que se omita la memoria caché de los clientes para recuperar una nueva versión de un archivo sin cambiar realmente la solicitud?

Gracias de antemano,

T

EDITAR:

Lo ideal sería enviar un encabezado de control de caché en URLRequest (¡gracias Assaf!). Desafortunadamente, lo he estado probando por un tiempo y no parece funcionar dentro de FlashPlayer. Incluso en la web, la gente parece ser pesimista sobre el tema.

Ejemplo rápido:

var headers:Array = new Array(new URLRequestHeader("Cache-Control", "no-cache"));
urlRequest.requestHeaders = headers;
urlRequest.load(url);

¿Alguien alguna vez logró hacer que algo similar funcionara?

¿Fue útil?

Solución

La forma correcta de hacerlo es especificando los encabezados de control http de la caché en su solicitud, o configurando la no caché en el servidor.

Si tiene control sobre el servidor, puede especificar pragma no-cache, o algo equivalente, para que ciertos archivos no sean nunca almacenados en caché.

La marca de tiempo no es realmente una buena idea, ya que podría atascarse con todo tipo de cachés en el camino.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top