Samuel Arendt

Un caché correcto depende de qué diferencias importan

Cuando una misma URL entrega páginas distintas según el idioma o el formato, el caché necesita saber qué diferencias de la solicitud cambian la respuesta. Desde septiembre, las Cache Rules de Cloudflare admiten la cabecera HTTP Vary en todos los planes. Permite guardar respuestas distintas para una misma URL según una cabecera de la solicitud, como Accept-Language. Así se evita que el caché entregue, por ejemplo, una versión en portugués a alguien que pidió la página en inglés.

La cabecera resuelve solo la mitad del problema. Los navegadores pueden enviar valores distintos que expresan la misma preferencia. Si cada cadena original crea una clave separada, el caché acumula copias que casi nunca se reutilizan. Si se ignoran diferencias importantes, la respuesta puede llegar a la persona equivocada. La configuración ahora exige decidir qué diferencias cambian realmente el contenido.

Normaliza los valores equivalentes

En las reglas de Cloudflare, normalize transforma valores conocidos a una forma común antes de elegir la copia guardada. Para Accept, Accept-Language y Accept-Encoding, el equipo puede limitar los formatos o idiomas reconocidos. Así, preferencias equivalentes pueden usar la misma respuesta en caché.

Suele ser un buen punto de partida cuando el servidor ofrece pocas variantes previsibles. El equipo puede limitar los formatos o idiomas aceptados para que diferencias pequeñas en las cabeceras no creen copias adicionales. La normalización solo es segura si la lista configurada coincide con las respuestas que el servidor ofrece realmente.

Para otras cabeceras, la normalización es más limitada: elimina espacios opcionales y combina líneas repetidas, pero las diferencias dentro de los valores pueden mantenerse. Conviene revisar la documentación antes de dar por hecho que dos valores personalizados se tratarán como equivalentes.

Conserva o evita el caché cuando corresponda

Con passthrough, Cloudflare usa el valor original de la cabecera para elegir la copia. Las diferencias de mayúsculas, espacios y orden pueden crear respuestas separadas. Puede ser necesario cuando el valor exacto cambia el contenido, pero también multiplica las claves del caché. Úsalo solo cuando esa diferencia tenga un efecto real en la respuesta.

Con bypass, la respuesta no se guarda si el servidor incluye esa cabecera en Vary. Es la opción más segura para valores personales o imprevisibles, como Cookie, cuando ninguna regla permite compartir la respuesta. El costo es renunciar al caché para esas respuestas; las entradas existentes permanecen hasta que se eliminen o caduquen.

Estas acciones solo se aplican cuando la respuesta del servidor incluye Vary. Añadir una regla no hace que Cloudflare cree variantes para todas las respuestas. Primero, confirma que el servidor declara las cabeceras correctas y que la ruta puede guardarse en caché.

Comprueba la respuesta y su reutilización

Prueba la misma URL con valores que deberían recibir el mismo contenido y con otros que necesitan una respuesta distinta. Después, comprueba si la primera visita llena el caché y si las siguientes reutilizan la variante esperada. Con valores normalizados, cabeceras distintas pero equivalentes deberían coincidir; con valores conservados, la separación debería corresponder a una diferencia visible en la respuesta.

También puedes purgar todas las variantes de una URL mediante una purga por URL. Sirve al cambiar una regla, pero no reemplaza las pruebas: una configuración puede mejorar la reutilización y aun así entregar contenido incorrecto si la declaración Vary del servidor está incompleta.

El criterio práctico es claro: normaliza las diferencias de presentación que no cambian la respuesta, conserva las que sí la cambian y deja sin caché las respuestas que dependen de datos personales o imprevisibles. La regla será más fácil de mantener si cada cabecera tiene una justificación vinculada al contenido que se entrega.

Si tu empresa está evaluando algo parecido, escríbeme por LinkedIn o por WhatsApp.

Referencias

Placas de vidrio transparente en forma de semicírculo y rombo superpuestas, con sombras suaves sobre un fondo claro.

Foto de Evie S. en Unsplash

#Arquitectura, #Operaciones, #Rendimiento