On dl, 2004-11-08 at 13:50, Manuel J.Recena Soto wrote: > Te lo puedo confirmar. Los archivos CSS, al igual que otros, son cacheados > por los navegadores.
Creo que Chema se refiere a las imágenes del CSS y no al CSS en si. > > Una duda sobre el menor peso de las páginas html tradicionales y las > > que emplean CSS. Según creo, si yo defino una página que presenta varios > > diseños visuales donde, por ejemplo, tengo tres imágenes distintas > > que repito varias veces y por tanto al descargar la página recibo > > esas tres imágenes tantas veces como aparece en mi página tradicional. > > > > En cambio, si uso CSS al separar presentación de contenido solo descargo > > una vez las tres imágenes y el CSS en el navegador del cliente es el > > encargado de presentarlas repetidas tantas veces como lo haya > > definido en el diseño de la hoja de estilo. > > > > Así se obtiene una reducción del tráfico en la red, además del > > tamaño de la página. > > > > ¿Me podéis confirmar que esto funciona así?. No del todo. Como comentas que no usemos términos informáticos intentaré definir el concepto de cache para explicarte como funciona el asunto. Una cache es una memoria temporal dónde se pueden guardar ciertos datos. La idea es que pese a que estos datos existen en algún otro sitio, siempre será más rápido acceder a la caché que no al origen real de dichos datos. A modo de analogía, podríamos decir que la agencia EFE de noticias es una especie de caché de sucesos; no tiene sentido ir a la fuente de la noticia una y otra vez si existe alguien que ya la ha guardado por nosotros. Una vez se entiende el concepto, la cosa depende enteramente de los navegadores. En cada navegador, típico, hay dos tipos de caché: una de memoria y una de disco. La primera se usa mientras estamos en una sesión del navegador, mientras vamos visitando páginas; mientras que la otra graba en disco datos para la siguiente sesión. Mientras un navegador navega por una página, va guardando en su caché de de memoria las imágenes que va cargando y, si se vuelve a hacer una petición de esa misma imagen no comprobará, de nuevo, si se ha modificado. Nótese que esto no tiene nada que ver con la caché de disco. Si yo entro hoy en un sitio web y mañana vuelvo a entrar, quién decide si la imagen se carga de nuevo o no es, en última instancia, el usuario, pues él ha configurado la caducidad de su cache de disco. Por si te queda alguna duda he hecho una prueba empírica. Esto que hay a continuación es fácil de entender. Es simplemente un registro (simplificado) de las peticiones a un servidor web. Primero tienes el día y hora y a continuación la acción. Todo son "GET algo HTTP/1.1", es decir: "servidor, envíame tal cosa". Al final está un 200 que significa que el servidor dice al usuario "ok, ahora te lo envio. [08/Nov/2004:19:31:21] "GET /~parap/melindro/ HTTP/1.1" 200 [08/Nov/2004:19:31:21] "GET /~parap/melindro/melindro_16x16.png HTTP/1.1" 200 En este primer registro he usado HTML puro con una imagen (melindro_16x16.png) repetida cuatro veces. Si te fijas sólo hay una petición para ella, el navegador sólo le ha pedido una vez al servidor que se la enviase. En cambio, el registro siguiente es para una página HTML+CSS dónde cada elemento 'div' tenía como fondo (especificado con CSS) la imagen 'melindro_16x16.png'. Había, también, cuatro de ellos. [08/Nov/2004:19:33:52] "GET /~parap/melindro/ HTTP/1.1" 200 [08/Nov/2004:19:33:52] "GET /~parap/melindro/melindro.css HTTP/1.1" 200 [08/Nov/2004:19:33:52] "GET /~parap/melindro/melindro_16x16.png HTTP/1.1" 200 Y, como antes, sólo hay una petición de imagen (y una adicional de CSS). En conclusión, que la respuesta a tu pregunta es que no, no se produce una reducción de tráfico _de_imágenes_ en la red por usar o no usar CSS. Sin embargo sí hay un beneficio de tráfico de red global por usar CSS. Cómo te comentaba Manuel, los CSS se cachean. Esto significa que la estructura de la presentación de una página web no tienes que ir descargándola una y otra vez. Aunque parezca una nimiedad, en un HTML puro hay una serie de datos que explican como mostrar la web y, estos datos, deben descargarse cada vez junto con el contenido. Usar CSS hace que el navegador sólo se descargue una sola vez la presentación y, con ello, se ahorra ancho de banda. La idea no es que "la imagen que va aquí" se descargue más o menos veces. Sino que usando HTML cada vez el navegador debe descargar el concepto "esta imagen va aquí" y con CSS ya lo sabe. Espero haberte sido de ayuda :) saludos, -- Dani Armengol Garreta JID: [EMAIL PROTECTED] WWW: http://parap.melindro.com
_______________________________________________ Lista de distribución Ovillo Para escribir a la lista, envia un correo a [EMAIL PROTECTED] Puedes modificar tus datos o desuscribirte en la siguiente dirección: http://ovillo.org/mailman/listinfo/ovillo_ovillo.org