MISS de caché de CDN en cada POP para la misma URL de imagen
En este artículo se describe por qué las imágenes proporcionadas por un servlet en Adobe Experience Manager as a Cloud Service pueden provocar errores de caché de CDN en diferentes puntos de presencia (POP) de CDN, incluso cuando los encabezados de control de caché especifican un TTL de 24 horas, y se proporciona orientación sobre el comportamiento esperado del almacenamiento en caché de CDN.
Descripción description
Entorno
Adobe Experience Manager as a Cloud Service (todas las versiones)
Problema/Síntomas
Un servlet devuelve imágenes de JPEG para páginas de tienda y establece un encabezado Cache-Control: max-age=86400 (24 horas). Sin embargo, los registros de CDN muestran que la misma URL de imagen se recupera varias veces de la instancia de publicación en un día, con el estado de caché MISS en diferentes ubicaciones de CDN (POP).
Ejemplo de entradas de registro:
- Fallo de caché en POP “RTM” para
/path/sample.jpg - MISS de caché en “TOJ” POP para
/path/sample.jpg
La expectativa es que la imagen se almacene en caché y se sirva desde la CDN durante 24 horas después de la primera solicitud, independientemente del POP. En su lugar, cada POP experimenta un error de caché en su primera solicitud de la imagen.
Causa
Cada POP de CDN funciona con su propia caché. La primera solicitud de un recurso en cada POP resulta en un MISS y solo las solicitudes posteriores de ese POP se proporcionan desde la caché hasta que caduca el TTL.
Resolución resolution
Para solucionar el problema, siga estos pasos:
- Tenga en cuenta que cada POP de CDN mantiene su propia caché. La primera solicitud de una URL determinada en cada POP producirá un error de caché; las solicitudes posteriores de ese mismo POP (mientras que el TTL es válido) serán una visita de caché.
- Asegúrese de que el servlet establece encabezados de caché explícitos tanto para el explorador como para CDN. Use
Cache-Control: max-age=86400, publicy considere la posibilidad de agregarSurrogate-Controlos-maxagepara el TTL específico de CDN si es compatible. - Evite utilizar directivas
privateono-store, ya que esto impide el almacenamiento en caché de CDN. - Utilice herramientas como
curly revise los registros de CDN para confirmar que la primera solicitud en cada POP es MISS y que las solicitudes posteriores del mismo POP dentro del TTL son VISITAS.
Para obtener más información, consulte la Documentación sobre el almacenamiento en caché de CDN de AEM as a Cloud Service.