2010-09-05 17 views
16

Cuando refrescar mi página web en menos de 23 minutos, Firebug muestra estas agradables solicitudes:CSS y JS archivos de caché

1. /core.css   304 Not modified 
2. /core.js   304 Not modified 
3. /background.jpg 304 Not modified 

pero cuando lo actualiza después de> 3 minutos, me sale:

1. /core.css   200 OK 
2. /core.js   200 OK 
3. /background.jpg 304 Not modified 

Por qué mi CSS y JS se descargan de nuevo y las imágenes no son?

estoy usando ASP.NET MVC 3, NO utilizar [OutputCache], y en mi carpeta /Content (donde todos css, js e img viven en subcarpetas) tengo este Web.config:

<configuration> 
    <system.webServer> 
     <staticContent> 
      <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="1.00:00:00" /> 
     </staticContent> 
    </system.webServer> 
</configuration> 

que establece cabecera HTTP Cache-Control: max-age=86400 SOLAMENTE. Básicamente, CSS, JS e imágenes se tratan de la misma manera, pero de alguna manera CSS y JS no se almacenan en caché durante un período más largo ... ¿por qué?

+0

¿Por qué no usar '[OutputCache]'? –

+0

Porque este es contenido estático. Aquí estoy interesado en el almacenamiento en caché de contenido estático, dudo que tenga algo que ver con ASP.NET MVC, pero lo mencioné porque no sé todo y quizás haya alguna solución ... – Darmak

Respuesta

12

Esperamos que esto ayudará: http://www.iis.net/ConfigReference/system.webServer/staticContent/clientCache

El elemento <clientCache> del elemento <staticContent> especifica cabeceras HTTP relacionadas con caché que IIS 7 y posteriormente envía a los clientes Web, que controlan cómo los clientes Web y los servidores proxy en caché las contenido que IIS 7 y regresa más tarde ...

+0

Ayudó, gracias. – jcolebrand

+0

Los efectos de activar esto son enormes si está utilizando jQuery con un par de complementos diferentes, por ejemplo, jqGrid, como mínimo, las cosas que pasan volando en el violín se han reducido. –

2

Esto ocurre con IIS o con el servidor web de Visual Studio? durante algún tiempo percibió este comportamiento durante el desarrollo (utilizando el servidor web VS), pero al publicarlo en IIS, esto ya no ocurre.

+0

Desafortunadamente IIS ... – Darmak

0

Podría ser este el error en Firefox describe here?

podría probar esto al abrir la misma página en otro navegador y comprobar lo consigue de carga utilizando Fiddler o alguna otra herramienta.

+0

Me acabo de dar cuenta de que este error se resolvió en 2010-05-09. Entonces, esta solución podría estar en la última versión de FF. – Peter

+0

Tengo la última versión :) – Darmak

Cuestiones relacionadas