asp.net mvc - route - Almacenamiento en caché HTTP de MVC: el encabezado de respuesta modificado por última vez siempre equivale a Fecha
net core asp route id (0)
No entiendo completamente cómo funciona el caché HTTP de .NET MVC porque no parece que en realidad esté recuperando archivos de recursos en caché. Estoy pensando que necesito agregar un código adicional en alguna parte ...
Primero, echemos un vistazo a cómo configuré el almacenamiento en caché de HTTP en contenido estático (es decir, imágenes). En mi web.config, tengo lo siguiente:
<system.webServer>
<staticContent>
<clientCache cacheControlMode="UseExpires" httpExpires="Tue, 19 Jan 2038 03:14:07 GMT" />
</staticContent>
</system.webServer>
Esto hace que las imágenes en mi aplicación parezcan estar en caché correctamente. Cuando miro los encabezados de respuesta de una imagen, veo esto (se eliminan los encabezados innecesarios):
Date:Thu, 27 Feb 2014 16:27:48 GMT
ETag:"086f8d199a4ce1:0"
Expires:Tue, 19 Jan 2038 03:14:07 GMT
Last-Modified:Thu, 29 Aug 2013 09:26:20 GMT
Estoy viendo un valor de ETag que es bueno y mi Caducidad es lo que debería ser. Además, la fecha de Last-Modified está en el pasado. Entiendo que la fecha de Última modificación es la fecha en que se solicitó por última vez el archivo al servidor.
Ahora veamos los encabezados de respuesta para un archivo Javascript que ha sido optimizado por MVC. Como recordatorio, este artículo establece que "los paquetes configuran el encabezado de HTTP Expires un año a partir de la creación del paquete " .
Cache-Control:public
Date:Thu, 27 Feb 2014 16:44:16 GMT
Expires:Fri, 27 Feb 2015 16:44:16 GMT
Last-Modified:Thu, 27 Feb 2014 16:44:16 GMT
Vary:User-Agent
A los encabezados de respuesta para el archivo MVC en caché le falta ETag para uno. Hay un valor de control de caché de "público" que no estaba presente en el encabezado de respuesta de contenido estático. Por último, el vencimiento es 1 año después de la fecha de la última modificación, que es correcta, pero la fecha de la última modificación es siempre la misma que el valor de la fecha. Estos encabezados de respuesta me parecen lo que serían cuando se solicita un recurso del servidor por primera vez y se almacena en caché, no cuando se solicita y recupera posteriormente del caché.
Gracias de antemano por cualquier información.
ACTUALIZACIÓN : en realidad parece estar almacenando en caché en IE. La fecha de Última modificación en las solicitudes subsiguientes sigue siendo un valor en el pasado. Sin embargo, no estoy viendo esto en FF o Chrome. Confirmé que en ambos navegadores, no he desactivado el almacenamiento en caché. ¿Lo que da?