Foros del Web » Creando para Internet » HTML »

¿Cómo hacer que las imagenes queden en cache del disco?

Estas en el tema de ¿Cómo hacer que las imagenes queden en cache del disco? en el foro de HTML en Foros del Web. Buena a todos. Verán estoy armando un sitio donde el 50% de las imagenes estan en el landing page, luego en cualquiera de las otras ...
  #1 (permalink)  
Antiguo 06/06/2011, 10:32
Avatar de Hokuten  
Fecha de Ingreso: abril-2011
Mensajes: 32
Antigüedad: 13 años
Puntos: 1
¿Cómo hacer que las imagenes queden en cache del disco?

Buena a todos.

Verán estoy armando un sitio donde el 50% de las imagenes estan en el landing page, luego en cualquiera de las otras paginas se cargan el 50% restantes de imagenes.

Es muy importante que las imagenes se guarden en cache del disco, por que el sitio es 90% imagenes, entonces esto para el usuario y el servidor sería muy liviano.

Resulta que el problema es que no tengo ni la menor idea de ¿cómo guardar imagenes en la cache del disco del usuario?

Saludos,
  #2 (permalink)  
Antiguo 06/06/2011, 11:45
Avatar de Tedel  
Fecha de Ingreso: enero-2011
Ubicación: Lima
Mensajes: 2.744
Antigüedad: 13 años, 3 meses
Puntos: 444
Respuesta: ¿Cómo hacer que las imagenes queden en cache del disco?

Pista: Averigua sobre modificaciones en el .htaccess
__________________
Soy el autor de Heptagrama y tengo un servicio "todo incluido" de marketing web.
  #3 (permalink)  
Antiguo 06/06/2011, 12:24
Avatar de Hokuten  
Fecha de Ingreso: abril-2011
Mensajes: 32
Antigüedad: 13 años
Puntos: 1
Respuesta: ¿Cómo hacer que las imagenes queden en cache del disco?

Bien.

Cree un .htaccess en raiz del directorio donde tengo el sitio (estoy en localhost) y la agregue esto:

Código:
# 1 AÑO
<FilesMatch "\.(ico|pdf|flv)$">
Header set Cache-Control "max-age=29030400, public"
</FilesMatch>
# 1 SEMANA * 2
<FilesMatch "\.(jpg|jpeg|png|gif|swf)$">
Header set Cache-Control "max-age=604800, public"
</FilesMatch>
# 2 DIAS
<FilesMatch "\.(xml|txt|css|js)$">
Header set Cache-Control "max-age=172800, proxy-revalidate"
</FilesMatch>
# 1 MINUTO
<FilesMatch "\.(html|htm|php)$">
Header set Cache-Control "max-age=60, private, proxy-revalidate"
</FilesMatch>
Solo multiplique el tiempo de cache de imagenes al doble.

La info la saque de: http://www.tufuncion.com/cache-web

¿Lo hice bien? ¿Cómo lo compruebo? ¿Se aplica a todos los html del sitio?
  #4 (permalink)  
Antiguo 06/06/2011, 12:33
Avatar de Hokuten  
Fecha de Ingreso: abril-2011
Mensajes: 32
Antigüedad: 13 años
Puntos: 1
Respuesta: ¿Cómo hacer que las imagenes queden en cache del disco?

Nota: Por cierto, con Yslow no me toma todavia la expiración/cache de las imagenes, entre otros items...
  #5 (permalink)  
Antiguo 06/06/2011, 15:08
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: ¿Cómo hacer que las imagenes queden en cache del disco?

Hokuten:

Por defecto, los navegadores cachean todas las imágenes, asi que no tendrías que agregar nada.

Lo que si podrías hacer con .htaccess es evitar que determinados elementos se cacheen, o que el browser deba buscarlas en la cache durante determinado tiempo

Algo mas avanzado, se puede conseguir con html5
lee esto http://www.topicosweb.com/2010/09/ca...line-en-html5/

Igual siempre estas expuesto al borrado del cache local por parte del usuario, de manera manual o utilizando herramientas como el Ccleaner, que es de uso bastante comun

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #6 (permalink)  
Antiguo 06/06/2011, 17:22
Avatar de Hokuten  
Fecha de Ingreso: abril-2011
Mensajes: 32
Antigüedad: 13 años
Puntos: 1
Respuesta: ¿Cómo hacer que las imagenes queden en cache del disco?

Muchas Gracias emprear!

Con respeto al tiemp de expiracion ¿como lo manejo? ¿es obligatorio?

Nuevamente, muchas gracias.
__________________
Si pregunto algo en un foro es por un algoritmo no puede decirme la respuesta exacta a mis dudas, que pienso que las personas son más inteligentes y consideradas.
  #7 (permalink)  
Antiguo 06/06/2011, 22:13
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: ¿Cómo hacer que las imagenes queden en cache del disco?

Hokuten:
hay muchas variantes para esto, todo depende del objetivo a lograr, como tu post original se refiere concretamente a imágenes, es correcto el código que vos pusiste.
En este caso max-age es el valor que maneja el tiempo de validez de la petición enviada, obviamente, es obligatorio, porque justamente eso es lo que deseas hacer.



Solo le haria el agregado de incluir la directiva dentro de
Código Apache:
Ver original
  1. <IfModule mod_headers.c>
  2. # directivas para control de cache
  3. </IfModule>

Esto es siempre recomendable ya que si en el server no estuviese habilitado el mod_headers.c, el servidor generaría un error. el valor de max-age , como se observa está expresado en segundos y podes cambiarlo a tu gusto, y podes también agregar extensiones separandolas con el signo de canalización |.
Resumiendo te quedaría, para los formatos de imágen más comunes

Código Apache:
Ver original
  1. <IfModule mod_headers.c>
  2. # 1 año
  3. <FilesMatch "\.(ico|gif|jpg|jpeg|png)$">
  4.   Header set Cache-Control "max-age=29030400, public"
  5. </FilesMatch>
  6. </IfModule>


Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.

Última edición por emprear; 06/06/2011 a las 22:20

Etiquetas: cache, carga, disco, imagenes, velocidad
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:00.