2011-07-13 18 views
5

Tengo un depósito en Amazon S3 donde guardo los archivos que a veces cambian pero quiero utilizar el almacenamiento en caché máximo en ellos, por lo que quiero utilizar la huella digital URL para invalidar la caché.caché de huella digital de URL en Amazon S3

Utilizo la fecha de "última modificación" de los archivos para la huella digital, y la página html que solicita los archivos S3 siempre conoce la huella digital de cada archivo.

Ahora, me doy cuenta de que podía utilizar la huella digital en la cadena de consulta, así:

http://aws.amazon.com/bucket/myFile.jpg?v=1310476099061 

pero la cadena de consulta no siempre es suficiente para algunos servidores proxy o navegadores antiguos para invalidar la caché, y algunos los proxies y los navegadores ni siquiera lo almacenan en caché si contiene una cadena de consulta. Es por eso que quiero seguir la huella digital en el URL real, como uno de ellos:

http://aws.amazon.com/bucket/myFile-1310476099061.jpg 
http://aws.amazon.com/bucket/1310476099061/myFile.jpg 
http://aws.amazon.com/bucket/myFile.jpg/1310476099061 
etc 

Cualquiera de estas URL sería perfecto para solicitar la myFile.jpg, pero yo quiero que todo se reasigna a la http://aws.amazon.com/bucket/myFile.jpg archivo. Es decir, solo deseo que la URL cambie para que el navegador piense que es un archivo nuevo y obtenga un archivo nuevo que guardará en caché durante un año. Cuando cargo una nueva versión de ese archivo, la huella digital se actualiza automáticamente.

Ahora aquí está mi pregunta: ¿Hay alguna manera de reescribir la url para que una solicitud de una URL como http://aws.amazon.com/bucket/myFile-xxxxxx.jpg sirva el archivo http://aws.amazon.com/bucket/myFile.jpg en Amazon S3? ¿O hay alguna otra solución alternativa que mantenga el archivo en caché? Gracias =)

Respuesta

2

Me temo que estás atascado con la versión en la cadena de consulta. No hay forma de volver a escribir las URL en S3 sin cambiar el nombre del archivo.

+0

Eso es muy malo. Aunque, creo que solo subiré el archivo con la huella digital en el nombre del archivo y eliminaré el anterior a través de un script, que debería tener el mismo efecto. Gracias. – Flassari