Cargando



Cabecera de control de cache en ASP.NET MVC

En este tutorial veremos cómo podemos controlar el tiempo del cache en nuestras aplicaciones ASP.NET MVC a través de una cabecera.


sep 26 2014 04:26
Avanzado
sep 28 2014 19:26
Cuando un usuario visita por primera vez nuestra página o aplicación, su velocidad inicial va a ser un poco más baja, esto se debe a que en ese momento el navegador tiene que descargar por primera vez todos los recursos gráficos, como imágenes y CSS, además de los scripts como los archivos .js.

¿Qué sucede cuando el usuario vuelve a visitar la página? Esta debería cargar más rápido ya que estos elementos siguen siendo los mismos por lo que no deberían cambiar, el problema está en que si no le indicamos al navegador por cuanto tiempo los debe mantener, es probable que si el usuario vuelve a visitar la página en una hora todo sea como la primera vez.

El futuro distante


El futuro distante es una frase que escuchamos mucho cuando hablamos de cache de contenidos y de navegador, esto es porque se refiere a la cantidad de tiempo que debe el navegador mantener el contenido sin necesidad de volverlo a descargar con cada visita del usuario.

Normalmente un valor adecuado para que el navegador mantenga el contenido es 1 mes, sin embargo dependiendo del tipo de aplicación y su frecuencia de actualización se pueden ver casos de hasta un año.

Establecer la vida del cache en la aplicación


ASP.NET MVC nos ofrece la posibilidad de establecer la vida y el vencimiento del cache de nuestra aplicación a través de algunas instrucciones que luego de la interpretación del servidor se transforman en cabeceras HTTP que le indican al navegador la información necesaria.

Para ello podemos valernos de los métodos Cache.SetExpires() y Cache.SetMaxAge(), donde el primero indica el tiempo o fecha cuando debe morir el cache y el segundo hasta cuándo debe mantenerse, para su aplicación en código podemos hacerlo como vemos en la siguiente imagen:


Cabe destacar que debemos solo utilizar uno de estos métodos a la vez ya que son redundantes, solo que según nuestras necesidades requeriremos de uno u otro.

El cache desde el servidor
Otra forma de establecer la cabecera y la expiración del cache es a través del servidor, en nuestro caso IIS, para ello podemos utilizar las cabeceras <clientCache> dentro del elemento <staticContent>, con lo que directamente el servidor le dará al navegador la información requerida.


Cambio en el contenido


Cuando hay un cambio en el contenido cacheado y necesitamos que se muestre, necesitamos decirle al navegador que cargue este nuevo contenido, generalmente esto lo hacemos cambiando de alguna forma la URL del mismo, para ello podemos trabajar con versiones de los contenidos, así si tenemos un archivo scripts-front.js, para que se refleje el cambio podemos cambiarlo por scripts-front-v2.js, de esta forma el navegador detectará que es un nuevo elemento y así lo volverá a cargar.

Con esto finalizamos este tutorial, hemos visto cómo podemos aumentar la velocidad de nuestra aplicación al permitir que el navegador sepa que no debe cargar más de una vez los recursos.

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X