Foros del Web » Administración de Sistemas » Apache »

Código para especificar que actualice el cache

Estas en el tema de Código para especificar que actualice el cache en el foro de Apache en Foros del Web. Hola amigos disculpen si el titulo del tema esta algo confuso miren les planteo Tengo este código en mi .htacces que es de las cabeceras ...
  #1 (permalink)  
Antiguo 04/01/2012, 01:48
Avatar de sunnyton  
Fecha de Ingreso: abril-2010
Mensajes: 153
Antigüedad: 14 años
Puntos: 6
Código para especificar que actualice el cache

Hola amigos disculpen si el titulo del tema esta algo confuso miren les planteo
Tengo este código en mi .htacces que es de las cabeceras de expiración ósea que el navegador, los archivos con esas extensiones una vez almacenados en el cache no se vuelvan a cagar hasta pasado el tiempo indicado en este caso 50 dias, pero como hacer para por ejemplo si io en el dia no se amm 20, actualizo mi mis imágenes, (se que para k los usuarios k entren vean las nuevas imágenes tendrán k afuera dar actualizar al navegador) pero quiero que solas se refresquen, se que obviamente si elimino mi cabecera ya podrá el navegador actualizaría contenido, pero como mantener la cabecera?


Este es el codigo que tengo de las cabeceras

Código Apache:
Ver original
  1. #Expiraciones
  2. <ifmodule mod_expires.c>
  3.  ExpiresActive On
  4.  ExpiresDefault A3600
  5.  <filesmatch ".(jpg|png|css|ico|js)$">
  6.   ExpiresDefault "access plus 50 day"
  7.  </filesmatch>
  8. </ifmodule>
__________________
Diseño Web - PaginasMEX
  #2 (permalink)  
Antiguo 07/01/2012, 14:00
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ódigo para especificar que actualice el cache

@Sunnyton:

No te entiendo nada, empezá por traducirme que significa esto

por ejemplo si io en el dia no se amm 20

saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 07/01/2012, 14:39
Avatar de charlyalegret  
Fecha de Ingreso: septiembre-2011
Ubicación: Barcelona
Mensajes: 705
Antigüedad: 12 años, 7 meses
Puntos: 140
Respuesta: Código para especificar que actualice el cache

Hola emprear! Es un poco complicado de entender (por la redacción) pero creo que se refiere a que si tu especificas que guarde imágenes en el caché 50 días, pero después de 20 días decides cambiar esas imágenes, si hay alguna manera de que los usuarios vean las nuevas imágenes sin tener que refrescar el navegador.

Yo lo que hago con las imágenes es cambiar el nombre si las actualizo.

Pero con los estilos me és más complejo porque cambiar el nombre supone cambiarlo en varios documentos. Con los estilos defino un tiempo para que se mantenga en caché y facilitar la carga a los usuarios recurrentes, pero en realidad uno nunca sabe cuando va a realizar un cambio en el archivo css (por ejemplo porque detectas un error, añades algo nuevo que requiere un estilo nuevo, etc). El problema viene cuando el usuario accede de nuevo a tu página y se encuentra con un churro porque no se le carga el nuevo archivo ccs, a no ser que le de a actualizar a la página...

Saludos!
  #4 (permalink)  
Antiguo 07/01/2012, 15:44
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ódigo para especificar que actualice el cache

@charlyalegret
Te felicito por la interpretación

@sunnyton
Para eso mejor que utilice headers

Código Apache:
Ver original
  1. <FilesMatch "\.(jpg|png|css|ico|js)$">
  2. Header set Cache-Control "max-age=4320000, public, must-revalidate"
  3. </FilesMatch>

must-revalidate está para cumplir com la función que queres, ya que fuerza al navegador a verificar si hubo cambios en el archivo

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #5 (permalink)  
Antiguo 08/01/2012, 03:03
Avatar de charlyalegret  
Fecha de Ingreso: septiembre-2011
Ubicación: Barcelona
Mensajes: 705
Antigüedad: 12 años, 7 meses
Puntos: 140
Respuesta: Código para especificar que actualice el cache

Muchas gracias Emprear, el must-revalidate es justo lo que me faltaba!
Saludos y feliz año!
  #6 (permalink)  
Antiguo 09/01/2012, 13:00
Avatar de sunnyton  
Fecha de Ingreso: abril-2010
Mensajes: 153
Antigüedad: 14 años
Puntos: 6
Respuesta: Código para especificar que actualice el cache

Cita:
Iniciado por emprear Ver Mensaje
@charlyalegret
Te felicito por la interpretación

@sunnyton
Para eso mejor que utilice headers

Código Apache:
Ver original
  1. <FilesMatch "\.(jpg|png|css|ico|js)$">
  2. Header set Cache-Control "max-age=4320000, public, must-revalidate"
  3. </FilesMatch>

must-revalidate está para cumplir com la función que queres, ya que fuerza al navegador a verificar si hubo cambios en el archivo

Saludos
Hola amigo muchas gracias, aun no lo pongo en prueba por que tengo unas dudas, mira entonces utilizo el codigo ese que mensionas tu, pero elimino el que postee? otra cosa exactamente para que es la propiedad de "max-age"? el tiempo que durara el archivo en el cache?. Otra duda, este mismo se cuenta en milisegundos? o como?
__________________
Diseño Web - PaginasMEX
  #7 (permalink)  
Antiguo 09/01/2012, 13:44
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ódigo para especificar que actualice el cache

solo deberias usar el código que pase, no los dos, y max-age es lo mismo que
access plus 50 day, pero expresado en segundos 3600x24x50

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #8 (permalink)  
Antiguo 09/01/2012, 16:20
Avatar de sunnyton  
Fecha de Ingreso: abril-2010
Mensajes: 153
Antigüedad: 14 años
Puntos: 6
Respuesta: Código para especificar que actualice el cache

Cita:
Iniciado por emprear Ver Mensaje
solo deberias usar el código que pase, no los dos, y max-age es lo mismo que
access plus 50 day, pero expresado en segundos 3600x24x50

Saludos
Ok entonces ese codigo lo que hace es que me genera un cache y no vuelve a cargar las imagenes hasta k se sumpla el tiempo ese... oh que verifique que halla alguna modificacion.
Una ultima duda disculpa, mira el tiempo en este caso los 50 dias, los cuenta desde el momento en que se lee el .htacces vd? si vuelvo a entrar a la pagina una semana depues no me reiniciara los 50 dias?
__________________
Diseño Web - PaginasMEX
  #9 (permalink)  
Antiguo 09/01/2012, 16:39
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ódigo para especificar que actualice el cache

La fecha se compara contra la que guarde el navegador en su cache, si el usuario borra su cache y vuelve a entrar a la página, empieza de cero nuevamente.

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

Etiquetas: htaccess
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 14:48.