solucion recursos navegador htaccess estos especificar control con caché cache aprovechar almacenar almacenamiento almacenables html css http caching browser

html - recursos - Almacenamiento en caché del navegador de archivos CSS



aprovechar el caché del navegador (6)

Pregunta rápida sobre CSS y el navegador. Intenté buscar SO y encontré algunas publicaciones similares, pero nada definitivo.

Uso uno o dos archivos CSS en mis proyectos web. Estos se mencionan en la CABEZA de mis páginas web. Una vez que toco una de mis páginas, ¿el CSS se almacena en caché para que no se vuelva a descargar con cada solicitud? Eso espero. ¿IE, Firefox y Safari manejan esto de manera diferente? Si el navegador está cerrado, ¿se actualiza el CSS en la primera visita cuando se abre una nueva instancia del navegador?


A menos que te hayas equivocado con tu servidor, sí, está en la memoria caché. Todos los navegadores deben manejarlo igual. Algunas personas (como yo) pueden tener sus navegadores configurados para que no guarden en caché ningún archivo. Cerrar el navegador no invalida el archivo en la memoria caché. Sin embargo, cambiar el archivo en el servidor debería causar una actualización del archivo.


Depende de los encabezados HTTP enviados con los archivos CSS como lo indican las dos respuestas anteriores, siempre que no agregue ningún elemento de cachebusting al href. p.ej

<link href="/stylesheets/mycss.css?some_var_to_bust_cache=24312345" rel="stylesheet" type="text/css" />

Algunos marcos (por ejemplo, los rieles) los ponen por defecto.

Sin embargo, si obtienes algo como firebug o firebug , puedes ver exactamente lo que está descargando tu navegador en cada solicitud, lo que es especialmente útil para descubrir lo que está haciendo tu navegador, en lugar de lo que debería estar haciendo.

Todos los navegadores deben respetar los encabezados de la memoria caché de la misma manera, a menos que estén configurados para ignorarlos (pero es probable que haya excepciones)


Eso depende de qué encabezados envíes junto con tus archivos CSS. Verifique la configuración de su servidor ya que probablemente no los esté enviando manualmente. Haga una búsqueda en google de "http caching" para conocer las diferentes opciones de caché que puede establecer. Puede obligar al navegador a descargar una copia nueva del archivo cada vez que lo carga, por ejemplo, o puede almacenar el archivo en caché durante una semana ...


Para la primera parte de su pregunta, sí, los archivos de la caché de los navegadores css (si esto no está deshabilitado por la configuración del navegador). Muchos navegadores tienen combinación de teclas para volver a cargar una página sin caché. Si realizó cambios en css y desea que los usuarios los vean de forma inmediata en lugar de esperar la próxima vez cuando el navegador vuelva a cargar los archivos sin almacenar en caché, puede cambiar la forma en que se sirve de CSS agregando algunos parámetros a la url de esta manera:

/style.css?modified=20012009


Probablemente valga la pena señalar que IE no almacenará en caché los archivos css llamados por otros archivos css utilizando el método @import. Entonces, por ejemplo, si su página html se vincula a "master.css" que ingresa "reset.css" a través de @import, entonces IE no pondrá en caché reset.css.


Su archivo probablemente se almacenará en caché, pero depende ...

Los diferentes navegadores tienen comportamientos ligeramente diferentes, sobre todo cuando se trata de encabezados de caché ambiguos / limitados que emanan del servidor. Si envía una señal clara, los navegadores obedecen, prácticamente todo el tiempo.

La mayor varianza, con diferencia, está en la configuración de caché predeterminada de diferentes servidores web y servidores de aplicaciones.

Es probable que algunos (por ejemplo, Apache) sirvan tipos de archivos estáticos conocidos con encabezados HTTP que alientan al navegador a almacenarlos en caché, mientras que otros servidores pueden enviar comandos no-cache con cada respuesta, independientemente del tipo de archivo.

...

Entonces, primero, lea algunos de los excelentes tutoriales de almacenamiento en caché HTTP . HTTP Caching & Cache-Busting para Content Publishers fue realmente revelador para mí :-)

Luego, instálelo con Firebug y el complemento Live HTTP Headers , para averiguar qué encabezados está enviando realmente su servidor.

Luego, lea los documentos de su servidor web para descubrir cómo ajustarlos a la perfección (o hable con su administrador de sistemas para que lo haga por usted).

...

En cuanto a qué sucede cuando se reinicia el navegador, depende del navegador y la configuración del usuario.

Como regla general, es más probable que el navegador se registre con el servidor después de cada reinicio, para ver si algo ha cambiado (vea If-Last-Modified y If-None-Match ).

Si configura su servidor correctamente, debería poder devolver un 304 muy corto no modificado (que cuesta muy poco ancho de banda) y después de eso el navegador usará el caché de forma normal.