Módulo 2: Aumentar la velocidad de los sitios web móviles

2.3.5 Almacenamiento en caché de HTTP

Obtener algo a través de la red cuesta tiempo y dinero. Las respuestas grandes requieren muchos procesos de ida y vuelta entre el cliente y el servidor, lo que retrasa su disponibilidad y su procesamiento por parte del navegador. Además, también implican costes de datos para el usuario. Por lo tanto, poder almacenar elementos en caché y volver a usar los recursos obtenidos previamente es un aspecto fundamental para optimizar el rendimiento.

La parte positiva es que los navegadores incluyen una implementación de caché de HTTP. Solo tienes que asegurarte de que cada respuesta del servidor proporciona las directivas correctas de encabezado HTTP para que el navegador sepa cuándo y durante cuánto tiempo puede almacenar en caché la respuesta.

Nota: Si usas WebView para obtener y visualizar el contenido web en la aplicación, quizás tengas que proporcionar marcas de configuración para asegurarte de que la caché de HTTP esté habilitada, además de comprobar que su tamaño sea adecuado para tus requisitos y se mantenga. Consulta la documentación de la plataforma y confirma los ajustes.

Cuando el servidor devuelve una respuesta, también emite una recopilación de encabezados HTTP, que describen el tipo de contenido, la longitud, las directivas de almacenamiento en caché, el token de validación, etc. Por ejemplo, en el intercambio anterior, el servidor devuelve una respuesta de 1024 bytes, indica al cliente que la almacene en caché durante 120 segundos como máximo y proporciona un token de validación ("x234dff") que se puede usar cuando la respuesta haya caducado para comprobar si el recurso se ha modificado.

A continuación, te indicamos algunos consejos y técnicas que debes tener en cuenta cuando configures la estrategia de almacenamiento en la memoria caché:

  • Utiliza las mismas URL: si publicas el mismo contenido en diferentes URL, este se obtendrá y se almacenará varias veces. Consejo: Ten en cuenta que las URL distinguen entre mayúsculas y minúsculas.
  • Asegúrate de que el servidor proporciona un token de validación (ETag): los tokens de validación eliminan la necesidad de transferir los mismos bytes cuando un recurso no ha cambiado en el servidor.
  • Identifica los recursos que los intermediarios pueden almacenar en caché: hay muchas posibilidades de que una red CDN y otros intermediarios almacenen en caché los recursos que tengan respuestas idénticas para todos los usuarios.
  • Determina la duración óptima de la memoria caché para cada recurso: es posible que diferentes recursos tengan distintos requisitos de actualización. Inspecciona y determina la antigüedad máxima apropiada para cada uno.
  • Determina la mejor jerarquía de memoria caché para tu sitio web: puedes controlar la rapidez de las actualizaciones del cliente a través de la combinación de URLs de recursos con identificaciones de contenido y tiempos breves o nulos de almacenamiento en caché para documentos HTML.
  • Reduce los cambios que se producen en los datos y en el código: algunos recursos se actualizan con más frecuencia que otros. Si hay una parte concreta de un recurso (por ejemplo, una función JavaScript o un conjunto de estilos CSS) que se actualiza con frecuencia, te recomendamos que publiques dicho código en un archivo independiente. Esto permite que el resto del contenido (por ejemplo, el código de biblioteca que no cambia con mucha frecuencia) se obtenga de la caché y, de esta forma, se reduzca la cantidad de contenido descargado cuando se realiza una actualización.

En esta página encontrarás más información.

¿Te ha resultado útil esta información?
¿Cómo podemos mejorar esta página?