¿Cómo puedo asegurarme de que el contenido estático (imágenes, css, javascript) esté en caché? ¿Cuál es el mejor enfoque?¿Cómo puedo asegurarme de que el contenido estático se almacena en caché del lado del cliente?
Respuesta
Te recomiendo que vayas a través de this tutorial para comprender cómo ocurre el almacenamiento en caché en la web (HTTP) en general.
Hablando en términos simples, el servidor web necesita generar encabezados HTTP apropiados al enviar el contenido al cliente para controlar el caché del lado del cliente. En el entorno ASP.NET/IIS, su IIS que normalmente maneja el contenido del archivo estático y, por lo tanto, debe configurar IIS adecuadamente para controlar el almacenamiento en caché de los archivos estáticos según lo necesite. Vea a continuación los enlaces para obtener más información sobre cómo configurar el almacenamiento en caché de IIS para contenido estático:
http://www.iis.net/ConfigReference/system.webServer/staticContent/clientCache
How to configure static content cache per folder and extension in IIS7?
EDITAR: A medida que han preguntado por el mejor enfoque, el enfoque más frecuente que veo ahora días es de contenido estático de la versión (por ejemplo, agregando algún identificador de versión al final del archivo o URL). Una vez editado la versión, puede tratarlo como inmutable y luego emitir encabezados de caché para almacenarlo en caché por una duración infinita. En la aplicación ASP.NET, probablemente pueda agregar la versión del ensamblaje (o la versión del producto) a cada URL de contenido estático. En esencia, invalidará la memoria caché para cada compilación (o para cada versión de producto).
También puede utilizar el manifiesto de aplicaciones web sin conexión HTML5. Le permite configurar un manifiesto en el que defina qué archivos se almacenarán en caché localmente.
Es una manera bonita, clara de entender ampliamente implementada, de evitar tener que aprender acerca de IIS
y HTML
Almacenamiento en caché.
http://www.w3schools.com/html/html5_app_cache.asp
(usted debe totalmente leer acerca de esas cosas)
- 1. Caché del lado del cliente en GWT
- 2. caché de archivos del lado del cliente
- 3. Deshabilitar el almacenamiento en caché del lado del cliente
- 4. ¿Cableado del almacenamiento en caché del lado del cliente WCF?
- 5. Método no estático en el lado del servidor desde el lado del cliente usando JavsScript
- 6. Caché de imagen del lado del cliente con ASP.Net
- 7. ¿Dónde se almacena el token de autenticación en el lado del cliente?
- 8. Método del lado del servidor y del lado del cliente
- 9. ¿Cómo puedo desactivar el almacenamiento en memoria caché del lado del cliente y del proxy en ASP.NET MVC?
- 10. Idiomas del lado del cliente
- 11. Sesiones del lado del cliente
- 12. Utilice menos (preprocesador css) del lado del servidor o del lado del cliente
- 13. ¿Cómo almacena en caché un archivo del lado del cliente de modo que el navegador deja de molestarse en volver a solicitarlo?
- 14. Cookies solo del lado del cliente
- 15. Ruby: del lado del cliente o del lado del servidor?
- 16. Web Charting, lado del servidor o del lado del cliente?
- 17. ¿Qué debo hacer para que el contenido, como las imágenes servidas a través de HTTPS, se almacene en la memoria caché del lado del cliente?
- 18. Registradores en el lado del cliente GWT
- 19. Combatir el almacenamiento en caché del lado del cliente en Django
- 20. IE 8 y el almacenamiento en caché del lado del cliente
- 21. Cassandra - carga del lado del cliente de equilibrio
- 22. Validación del lado del cliente de Grails
- 23. ¿Puedo usar Coffeescript en el lado del cliente también?
- 24. lado del servidor MVC + lado del cliente MVC
- 25. Validación del lado del cliente de FluentValidation
- 26. aplicación GWT refrescante en el lado del cliente
- 27. Validación del lado del cliente ASP.NET MVC
- 28. Persistencia del lado del cliente (almacenamiento)
- 29. Lenguajes del lado del cliente fuertemente tipados?
- 30. DDD y validación del lado del cliente
1 para el enlace tutorial –
@VinayC qué pasa con el tema de [Cómo almacenar en caché los archivos js y css de aplicación ASP.NET MVC servido en IIS] (http://stackoverflow.com/questions/41391542/how-to-cache-js-and-css-files-of-asp-net-mvc-application-served-on-iis/) Gracias de antemano ... –
@ClintEastwood, siempre que esté sirviendo archivos estáticos, la emisión de encabezados de caché con la configuración de IIS funcionará. Para gestionar las actualizaciones de contenido estático, debe usar las URL versionadas (por ejemplo, /image/a.png?v=2) para que el navegador lo solicite nuevamente siempre que cambie la versión. – VinayC