Articulo de referencia

aceleración dinámica del sitio

La aceleración de sitios dinámicos (DSA) es un conjunto de tecnologías que hacen que la entrega de sitios web dinámicos sea más eficiente. [ 1 ] Los fabricantes de controladores...

La aceleración de sitios dinámicos (DSA) es un conjunto de tecnologías que hacen que la entrega de sitios web dinámicos sea más eficiente. [ 1 ] Los fabricantes de controladores de entrega de aplicaciones y redes de entrega de contenido (CDN) utilizan una serie de técnicas para acelerar los sitios dinámicos, entre las que se incluyen:

Técnicas

Multiplexación TCP

Un dispositivo de borde , ya sea un ADC o una CDN, es capaz de realizar multiplexación TCP y puede colocarse entre los servidores web y los clientes para descargar la carga de los servidores de origen y acelerar la entrega de contenido.

Normalmente, cada conexión entre cliente y servidor requiere un proceso dedicado que se ejecuta en el servidor de origen durante toda la duración de la conexión. Cuando los clientes tienen una conexión lenta, esto ocupa parte del servidor de origen, ya que el proceso debe permanecer activo mientras el servidor espera una solicitud completa. Con la multiplexación TCP, la situación es diferente. El dispositivo obtiene una solicitud completa y válida del cliente antes de enviarla al servidor de origen una vez que la solicitud ha llegado por completo. Esto reduce la carga de los servidores de aplicaciones y bases de datos, que son más lentos y costosos de usar en comparación con los ADC o CDN. [ 2 ]

Control dinámico de caché

HTTP cuenta con un sistema integrado para el control de caché , que utiliza encabezados como ETag , "expires" y "last modified". Muchos CDN y ADC que afirman tener DSA lo han reemplazado con su propio sistema, al que denominan almacenamiento en caché dinámico o control de caché dinámico. Esto les brinda más opciones para invalidar y omitir la caché en comparación con el control de caché HTTP estándar. [ 3 ]

El propósito del control dinámico de caché es aumentar la tasa de aciertos de caché de un sitio web, que es la tasa entre las solicitudes atendidas por la caché y las atendidas por el servidor normal. [ 4 ]

Debido a la naturaleza dinámica de los sitios web 2.0, resulta difícil utilizar el almacenamiento en caché estático . Esto se debe a que los sitios dinámicos, por definición, ofrecen contenido personalizado para diferentes usuarios y regiones. Por ejemplo, los usuarios de dispositivos móviles pueden ver contenido distinto al de los usuarios de ordenadores de escritorio, y los usuarios registrados pueden necesitar ver contenido diferente al de los usuarios anónimos. Incluso entre los usuarios registrados, el contenido puede variar considerablemente, como suele ocurrir en las redes sociales .

El almacenamiento en caché estático de páginas dinámicas específicas para cada usuario introduce un riesgo potencial de servir contenido irrelevante o contenido de terceros a los usuarios equivocados, si el identificador que permite al sistema de almacenamiento en caché diferenciar el contenido, la URL/solicitud GET, no se modifica correctamente añadiéndole tokens/claves específicos del usuario.

El control de caché dinámico ofrece más opciones para configurar el almacenamiento en caché, como el control de caché basado en cookies , que permite servir contenido desde la caché según la presencia o ausencia de cookies específicas. Una cookie almacena la clave de identificación única de un usuario que ha iniciado sesión en su dispositivo y ya está implementada para autenticar a los usuarios al ejecutar cualquier página que abra una sesión. En un sistema de caché dinámico, las cachés se referencian tanto por la URL como por las claves de las cookies, lo que permite habilitar fácilmente el servicio de cachés predeterminadas para usuarios anónimos y cachés personalizadas para usuarios que han iniciado sesión (sin necesidad de modificar el código para agregar identificadores de usuario adicionales a la URL, como en un sistema de caché estático).

Precarga

Si el contenido personalizado no se puede almacenar en caché, se puede poner en cola en un dispositivo periférico. Esto significa que el sistema almacenará una lista de posibles respuestas que podrían ser necesarias en el futuro, lo que permite servirlas rápidamente. Esto difiere del almacenamiento en caché, ya que las respuestas precargadas se sirven solo una vez, lo que resulta especialmente útil para acelerar las respuestas de las API de terceros , como los anuncios. [ 5 ]

Optimización de rutas

La optimización de rutas, también conocida como "enrutamiento basado en latencia", optimiza el recorrido del tráfico entre los clientes y los diferentes servidores de origen para minimizar la latencia. La optimización de rutas puede ser realizada por un proveedor de DNS [ 6 ] o por una CDN [ 7 ] .

La optimización de rutas consiste en medir múltiples caminos entre el cliente y el servidor de origen, y luego registrar el camino más rápido entre ellos. Este camino se utiliza posteriormente para servir contenido cuando un cliente en una zona geográfica específica realiza una solicitud. [ 8 ]

Relación con la optimización del front-end

Aunque tanto la optimización del front-end (FEO) como la DSA describen un conjunto de técnicas para mejorar la entrega de contenido en línea, operan en aspectos diferentes. Existen puntos en común, como la compresión de datos sobre la marcha y el control de caché mejorado; sin embargo, las diferencias clave son:

  • FEO se centra en modificar el contenido real, mientras que DSA se centra en mejorar la entrega de contenido sin alterarlo (es decir, DSA ofrece una entrega de contenido literal). DSA se centra en optimizar la entrega de bits a través de la red, sin modificar el contenido, mientras que FEO busca disminuir la cantidad de objetos necesarios para descargar sitios web y reducir el tráfico total. Esto se puede lograr mediante la distribución de contenido sensible al dispositivo (por ejemplo, reduciendo la calidad de las imágenes), la minificación , la consolidación de recursos y la inserción en línea. Dado que FEO modifica el tráfico real, la configuración tiende a ser más difícil, ya que existe el riesgo de afectar la experiencia del usuario al distribuir contenido que se modificó incorrectamente.
  • DSA se centra en disminuir los tiempos de carga de las páginas y descargar los servidores web, especialmente para sitios dinámicos. FEO se centra principalmente en disminuir los tiempos de carga de las páginas y reducir el ancho de banda. Sin embargo, también se pueden lograr ahorros de costos en los servidores de origen al implementar FEO, ya que disminuye el tiempo de carga de las páginas sin reescribir el código, ahorrando así las horas de trabajo que normalmente serían necesarias para optimizarlo. Además, los ingresos podrían aumentar gracias a tiempos de carga de página más bajos.

Referencias

  1. "¿Cómo funciona la aceleración dinámica de sitios web? - GlobalDots" . www.globaldots.com . Archivado del original el 21 de enero de 2013.
  2. "3 razones realmente buenas por las que deberías usar la multiplexación TCP | F5 DevCentral" . Archivado del original el 26 de febrero de 2014. Consultado el 1 de mayo de 2014 .
  3. "Centro de conocimiento de IBM" . www.ibm.com . Consultado el 14 de noviembre de 2018 .
  4. "¿Qué es el almacenamiento en caché dinámico? | section.io" . www.section.io . Consultado el 14 de noviembre de 2018 .
  5. "¿Cloudflare realiza precarga?" . Soporte de Cloudflare . Consultado el 14 de noviembre de 2018 .
  6. "Amazon Route 53 añade enrutamiento basado en latencia" .
  7. "SureRoute" (PDF) . www.akamai.com . 2003. Archivado del original (PDF) el 21 de abril de 2015. Consultado el 29 de enero de 2026 .
  8. "Elección de una política de enrutamiento - Amazon Route 53" . docs.aws.amazon.com . Consultado el 14 de noviembre de 2018 .