Interacción MediaStore de AWS Elemental con cachés HTTP - AWSElemental MediaStore

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Interacción MediaStore de AWS Elemental con cachés HTTP

AWS Elemental MediaStore almacena los objetos para que las redes de entrega de contenido (CDN) como Amazon puedan almacenarlos en caché de manera correcta y eficiente CloudFront. Cuando un usuario final o una CDN recupera un objeto MediaStore, el servicio devuelve encabezados HTTP que afectan al comportamiento de almacenamiento en caché del objeto. (Los estándares para el comportamiento de almacenamiento en caché HTTP 1.1 se encuentran en la sección 13 de RFC2616). Estos encabezados son:

  • ETag (no personalizable): el encabezado de la etiqueta de entidad es un identificador único para la respuesta que envía MediaStore . Los CDN y los navegadores web que cumplen con los estándares utilizan esta etiqueta como clave para almacenar en caché el objeto. MediaStore genera automáticamente unETag para cada objeto cuando se carga. Puede ver los detalles de un objeto para determinar su valor de ETag.

  • Last-Modified(no personalizable): el valor de este encabezado indica la fecha y la hora en que se modificó el objeto. MediaStore genera automáticamente este valor cuando se carga el objeto.

  • Cache-Control (personalizable): el valor de este encabezado controla cuánto tiempo se debe guardar en caché un objeto antes de que la CDN compruebe si se ha modificado. Puede establecer este encabezado en cualquier valor al cargar un objeto a un MediaStore contenedor mediante la CLI o la API. El conjunto completo de valores válidos se describe en la documentación HTTP/1.1. Si no establece este valor al cargar un objeto, MediaStore no devolverá este encabezado cuando se recupere el objeto.

    Un caso de uso común para el encabezado Cache-Control es especificar una duración para almacenar en caché el objeto. Por ejemplo, supongamos que tiene un archivo de manifiesto de vídeo que un codificador sobrescribe con frecuencia. Puede establecer el max-age en 10 para indicar que el objeto debe almacenarlo en caché durante solo 10 segundos. O supongamos que tiene un segmento de vídeo almacenado que nunca se sobrescribirá. Puede establecer el max-age para este objeto en 31536000 para almacenarlo en caché durante aproximadamente 1 año.

Solicitudes condicionales

Solicitudes condicionales a MediaStore

MediaStore responde de forma idéntica a las solicitudes condicionales (utilizando encabezados de solicitud comoIf-Modified-Since yIf-None-Match, como se describe en el RFC7232) y a las solicitudes incondicionales. Esto significa que cuando MediaStore recibe unaGetObject solicitud válida, el servicio siempre devuelve el objeto, incluso si el cliente ya lo tiene.

Solicitudes condicionales a CDN

Las CDN que ofrecen contenido en nombre de MediaStore pueden procesar las solicitudes condicionales devolviéndolas304 Not Modified, tal como se describe en la sección 4.1 del RFC7232. Esto indica que no es necesario transferir el contenido completo del objeto, porque el solicitante ya tiene un objeto que coincide con la solicitud condicional.

Los CDN (y otras cachés que son compatibles con HTTP/1.1) basan estas decisiones en los encabezados ETag y Cache-Control que los servidores de origen reenvían. Para controlar la frecuencia con la que las CDN consultan a los servidores de MediaStore origen para obtener actualizaciones de los objetos recuperados repetidamente, defina losCache-Control encabezados de esos objetos cuando los cargue MediaStore.