31 Jan 24

Qué es la invalidación por etiquetas y para qué sirve

ilustración 3d

Una parte fundamental del buen funcionamiento de un sitio web tiene que ver con el control de los objetos almacenados en caché y cómo y cuándo invalidarlos. En este post explicamos los beneficios de emplear la invalidación por etiquetas de la CDN de nueva generación de Transparent Edge.

¿Qué es la invalidación por etiquetas?

La invalidación por etiquetas permite etiquetar grupos de objetos para poder purgarlos de forma rápida, eficaz y selectiva. Esto evita la necesidad de idear complejas secuencias de comandos para construir URLs cada vez que se actualiza el contenido.

Por ejemplo, pongamos que tienes una tienda de ropa y necesitas reducir el precio de las prendas de abrigo al finalizar la temporada de invierno para liquidar el inventario. Sin la funcionalidad que abordamos hoy, tendrías que invalidar una a una todas las URLs de tu sitio web que se ven afectada por las rebajas:

Pero, si previamente has programado tu CMS para que establezca la etiqueta “abrigo” a esas URLs, basta con invalidar la etiqueta para purgar todos esos recursos en cuestión de segundos.

Las cabeceras Surrogate-Keys

Para resolver este tipo de necesidades, en Transparent Edge utilizamos la cabecera Surrogate-Keys. Con ella determinamos qué etiquetas se asignan a un objeto. 

Cuando se solicita un objeto no almacenado en caché, acudimos al origen. Para cada objeto en la respuesta del origen, comprobamos la existencia de la cabecera Surrogate-Keys y, si existe, asignamos su valor como etiqueta al objeto. Si el valor de la cabecera Surrogate-Keys consta de varias palabras separadas por espacios, asignamos todas ellas al objeto.

Por ejemplo:

En este caso, el objeto se ha etiquetado con «abrigos» “hombre” y «paño». Por lo tanto, si hacemos una petición de invalidación para “abrigos”, como proponíamos con anterioridad, invalidaremos este objeto y todos los que incluyen ese mismo término, independientemente de la URL que tengan. 

La mayor ventaja que ofrece la invalidación por etiquetas es su capacidad para relacionar gran cantidad de objetos en  la respuesta del servidor de origen, creando asociaciones entre objetos a voluntad que podemos invalidar de forma totalmente selectiva.

Cómo asignar etiquetas y purgar contenido

En nuestra CDN, las etiquetas se pueden generar y asignar de dos maneras: desde el servidor de origen o desde la CDN mediante configuración VCL. En nuestro portal de documentación abordamos ambas opciones.

Sin embargo, nuestra recomendación es implementar las etiquetas directamente en la aplicación o en el servidor web que sirve el contenido desde el origen. Esto facilita en gran medida la asignación de términos y no requiere de un conocimiento avanzado de VCL.

A la hora de invalidar objetos utilizando las etiquetas asignadas, se puede hacer tanto desde el cuadro de mandos de nuestro dashboard, como desde la API. La primera opción es más sencilla y basta con acceder al área de Invalidación del panel de control y activar las etiquetas que se desean purgar. Si te interesa este tema y te has quedado con alguna duda, puedes contactar con nuestros expertos para verlo detenidamente.