Como la colocación en antememoria requiere crear y guardar una copia del archivo servido, es necesario cierto mantenimiento de rutina para que la antememoria funcione correctamente. Debe comprobarse la antigüedad de los archivos en antememoria y deben invalidarse cuando ya no son coherentes con los archivos del servidor de origen. Este proceso de caducidad de archivos se explica en Caducidad de los archivos. Asimismo, los archivos invalidados o no utilizados deben eliminarse de la antememoria para dejar espacio para los nuevos archivos. Este proceso de depuración de la antememoria se describe en Recogida de basura.
El mantenimiento de los objetos en memoria caché que son coherentes con el objeto original del servidor de contenido se conoce como mantenimiento de la antigüedad en la memoria caché. Para todos los documentos u otros objetos que coloca en antememoria, Caching Proxy calcula una hora en la que caduca el objeto.
Para las páginas HTTP, la cabecera del documento, generada por el servidor de contenido, contiene la información de caducidad.
Como el protocolo FTP no incluye información de caducidad equivalente, Caching Proxy genera su propia cabecera Last-Modified: para los archivos FTP, basándose en la información de directorios FTP para todos los archivos y utiliza esta información para calcular los tiempos de caducidad. Si el servidor proxy no puede obtener la información de directorio para el archivo a partir del servidor FTP, se utiliza el valor por omisión que coincide con el URL de FTP. Asimismo, como no existe un formato de fecha estándar para los servidores FTP, es posible que Caching Proxy no pueda entender la fecha y hora enviadas por algunos servidores FTP. En ese caso, se utiliza el valor de tiempo de caducidad por omisión del servidor proxy. Este procedimiento permite que el proxy gestione la colocación en antememoria de las páginas HTTP y los archivos FTP de una forma parecida.
Un servidor de contenido puede especificar la caducidad de uno de los siguientes modos (en orden de preferencia):
Después de calcular el tiempo de caducidad como se acaba de describir, Caching Proxy comprueba si existe un valor de Espera mínima que se aplica a este URL. Si existe este valor y el periodo que especifica es mayor que el tiempo de caducidad calculado, el tiempo especificado por el valor de Espera mínima se utiliza como tiempo de caducidad del objeto. Esto es cierto incluso si Caching Proxy calcula un tiempo de caducidad de 0 minutos para un documento. Por lo tanto, para evitar servir contenido que no es actual, tenga cuidado con la utilización del valor de Espera mínima. (Para establecer el valor de Espera mínima, utilice la directiva CacheMinHold o el valor Configuración de antememoria –> Valores de caducidad de antememoria: Caducidad del URL. Consulte Configuración de la antigüedad de antememoria para obtener información adicional.
El valor de tiempo de caducidad final se contrasta con el tiempo especificado en el valor Margen de tiempo. Si el tiempo de caducidad es mayor que el valor Margen de tiempo, el documento se coloca en antememoria; de lo contrario no se añade a la antememoria. Para establecer el valor de Margen de tiempo, utilice la directiva CacheTimeMargin o consulte las instrucciones en Configuración de la antigüedad de antememoria.
Si se encuentra el documento en la antememoria pero ha caducado, Caching Proxy emite una petición especial conocida como if-modified-since al servidor de contenido. Esta petición provoca que el servidor de contenido envíe el documento sólo si se ha modificado desde que el proxy lo recibió por última vez. Si el documento no se ha modificado, el servidor de contenido envía un mensaje que lo indica y no vuelve a enviar la página. Es ese caso, el proxy sirve el documento en antememoria. Para los archivos FTP, el servidor proxy simula este proceso if-modified-since. Si se determina que el archivo no se ha modificado en el servidor FTP, éste sirve el archivo desde la antememoria. De lo contrario, obtiene la versión más reciente del servidor FTP.
Sólo se aplica a configuraciones de proxy de reenvío.
Como el protocolo FTP no define las fechas y horas de forma tan estricta como lo hace el protocolo HTTP, existen varios factores que pueden provocar que la cabecera Last-Modified generada por el proxy para los archivos sea ligeramente distinta de la fecha de archivo real. Estos factores son los siguientes:
Cuando un archivo FTP caduca en la memoria caché, el proxy simula el proceso de revalidación if-modified-since de HTTP para el archivo FTP. Lleva a cabo esta acción volviendo a emitir el mandato FTP LIST para el archivo solicitado, analizando la fecha de archivo de la respuesta devuelta por el servidor FTP y comparando esta fecha con la fecha que el servidor proxy ha generado para la cabecera Last-Modified cuando el archivo se ha recuperado inicialmente. Si la fecha de archivo no se ha modificado, el servidor proxy marca el archivo FTP en antememoria como revalidado, establece una nueva fecha de caducidad del archivo y sirve el archivo de la antememoria en lugar de recuperarlo del servidor FTP de nuevo. Si las dos fechas de archivo no coinciden, el proxy recupera el archivo del servidor FTP de nuevo y coloca la nueva copia con la nueva fecha de archivo.
No siempre es posible obtener la información de directorio del archivo a partir del servidor FTP. Si el proxy no puede determinar la fecha de archivo del archivo FTP, no genera una cabecera Last-Modified del archivo. En su lugar, utiliza el valor especificado para la directiva CacheDefaultExpiry que coincide con el URL para determinar el periodo de tiempo que se debe mantener en archivo en la antememoria. Cuando este periodo de tiempo caduca, el proxy siempre recupera el archivo del servidor FTP de nuevo. Si archivos FTP específicos de la antememoria parecen utilizar la directiva CacheDefaultExpiry con mucha frecuencia y se recuperan con asiduidad (generando un alto volumen de tráfico de red), es recomendable especificar un valor CacheDefaultExpiry más granular para esos archivos específicos. Con esta acción, se consigue mantenerlos en la antememoria durante un periodo de tiempo más largo.
Para especificar los valores de caducidad de la antememoria de los formularios de Configuración y Administración, utilice el formulario Configuración de antememoria –> Valores de caducidad de antememoria –> Límite de tiempo para archivos de antememoria. Para obtener más detalles sobre cómo establecer las fechas de caducidad del archivo en antememoria, consulte Caducidad de los archivos.
Para especificar los tiempos de caducidad de los archivos en antememoria, seleccione Configuración de antememoria –> Valores de caducidad de antememoria en los formularios de Configuración y Administración. Los siguientes formularios son de gran utilidad.
Utilice este formulario para establecer el periodo mínimo de tiempo que los archivos se mantienen en antememoria, basándose en sus URL. Puede especificar diferentes comportamientos de colocación en antememoria para las distintas plantillas de petición URL.
Para establecer la caducidad de archivos basada en URL editando el archivo de configuración de proxy, consulte los apartados de referencia del Apéndice B. Directivas del archivo de configuración para obtener información sobre las siguientes directivas:
Utilice el formulario Valores de caducidad de antememoria para especificar los valores de caducidad por omisión de los archivos usados y sin usar. Puede establecer valores distintos para los archivos HTTP, FTP y Gopher y también para los archivos usados y no usados.
Este formulario contiene opciones adicionales de caducidad de archivos:
Para establecer los valores de caducidad por omisión editando el archivo de configuración de proxy, consulte las páginas de referencia de las siguientes directivas:
Utilice el formulario Factor de última modificación para establecer el valor que el proxy utiliza para calcular una fecha de caducidad de los archivos en antememoria sin fecha de caducidad en las cabeceras. Puede establecer diferentes valores para los archivos que coincidan con distintas plantillas de petición. La primera plantilla que coincida se utiliza para calcular la fecha de caducidad.
Para establecer el factor de última modificación editando directamente el archivo de configuración de proxy, consulte CacheLastModifiedFactor: especificar el valor para determinar las fechas de caducidad.
Utilice el formulario de configuración Límite de tiempo para archivos de antememoria para establecer el tiempo máximo que un archivo puede permanecer en la antememoria. Los límites de tiempo se establecen basándose en las plantillas de petición, y se puede especificar que las plantillas se descarten o se vuelvan a validar cuando caduque el límite de tiempo. Estos valores pueden utilizarse para mantener los archivos cuyas fechas de caducidad no son válidas o los archivos con tiempos de caducidad muy largos.
Para establecer el límite máximo de tiempo de caducidad de los archivos en antememoria editando el archivo de configuración de proxy, consulte las siguientes directivas:
Como parte del esfuerzo para mantener en antememoria los URL populares y minimizar el uso de los recursos del sistema, Caching Proxy realiza el proceso de limpieza conocido como recogida de basura, mediante el cual se eliminan los archivos antiguos o usados de la antememoria para dejar espacio para los archivos más recientes.
El proceso de recogida de basura examina los archivos del directorio de memoria caché e intenta eliminar los archivos caducados para reducir el tamaño de la memoria caché y dejar espacio para los archivos nuevos. La recogida de basura se realiza automáticamente, pero algunos valores pueden configurarse para adaptar el proceso a sus necesidades.
Para configurar la recogida de basura, seleccione Configuración de antememoria –> Valores de recogida de basura en los formularios de Configuración y Administración. Utilice este formulario para establecer la marca alta y la marca baja, que determinan cuándo se inicia y se detiene la recogida de basura. Cuando la cantidad de espacio utilizado en la antememoria alcanza o excede el porcentaje establecido para la marca alta, se inicia la recogida de basura. La recogida de basura continúa hasta que el porcentaje de espacio utilizado en la antememoria es igual al valor establecido para la marca baja o menor que él.
Puede escoger entre dos algoritmos de recogida de basura. El algoritmo responsetime optimiza el tiempo necesario para responder a los usuarios mediante la eliminación preferencial de los archivos de gran tamaño de la antememoria. El algoritmo bandwidth optimiza el uso de la banda ancha de red mediante la eliminación preferencial de archivos de menor tamaño de la antememoria. Escoja uno de los dos o utilice una combinación de los dos.
Para configurar la recogida de basura editando el archivo de configuración de proxy, consulte los apartados de referencia de las siguientes directivas: