refresh_pattern
TAG: refresh_pattern
Этот тэг позволяет настраивать дополнительные параметры оптимизации кэширования. Эти настройки помогают Squid определить, брать объект для пользователя из кэша, или этот объект уже устарел в кэше, и нужно скачать этот объект у первоисточника заново.
Использование:
refresh_pattern [-i] regex min percent max [options]
По умолчанию, регулярные выражения РЕГИСТРОЗАВИСИМЫ. Для того, чтобы сделать их регистроНЕзависимыми используйте опцию -i.
Min
минимальное время(в минутах) для объектов, которым оно не задано явно, в течение которого они(объекты) считаются "свежими". Рекомендуемое значение 0. Увеличение этого значения может стать причиной некоторых ошибок в приложениях идущих через Squid в Интернет. Например, при обращении к некоторому объекту он может быть выдан из кэша, в то время как программе нужен "свежий", актуальный в это конкретное время объект. В этой связи, для обработки некоторых данных, в приложение может поступить устаревшая информация, что повлечет за собой ошибочность конечного результата.
Percent
процент от возраста объекта(время прошедшее с момента последнего изменения). В течение полученного времени объект считается "свежим".
Max
максимальное время(в минутах) для объектов, которым оно не задано явно, в течение которого они(объекты) считаются "свежими".
=======Опции========
override-expire
использовать установленное минимальное время "свежести" объектов, если сервер отправляет заголовок Expires. Т.е. что объект устарел. Использование этой опции НАРУШАЕТ стандарт HTTP. Включая эту опцию, вы принимаете на себя ответственность за возможные проблемы.
override-lastmod
использовать установленное минимальное время "свежести" объектов, которые были изменены недавно.
reload-into-ims
изменяет клиентские запросы 'no-cache' или 'reload' на 'If-Modified-Since'. Использование этой опции НАРУШАЕТ стандарт HTTP. Включая эту опцию, вы принимаете на себя ответственность за возможные проблемы.
ignore-reload
игнорирование клиентских заголовков 'no-cache' или 'reload'. Использование этой опции НАРУШАЕТ стандарт HTTP. Включая эту опцию, вы принимаете на себя ответственность за возможные проблемы.
ignore-no-cache
игнорировать заголовки 'Pragma: no-cache' и 'Cache-control: no-cache' принятые от сервера. HTTP RFC никогда не разрешало использовать Pragma заголовки серверами. Это разрешается только клиентам, но сервера все равно отсылают эти заголовки.
ignore-private
игнорировать заголовки 'Cache-control: private' принятые от сервера. Использование этой опции НАРУШАЕТ стандарт HTTP. Включая эту опцию, вы принимаете на себя ответственность за возможные проблемы.
ignore-auth
кэшировать ответы на запросы авторизации, если внешний(оригинальный) сервер отправил заголовок 'Cache-control: public' в ответе. Использование этой опции НАРУШАЕТ стандарт HTTP. Включая эту опцию, вы принимаете на себя ответственность за возможные проблемы.
Механизм действия:
FRESH if expires < now, else STALE
STALE if age > max
FRESH if lm-factor < percent, else STALE
FRESH if age < min
else STALE
Примечание :
А теперь механизм по-русски:
СВЕЖИЙ если время_когда_истекает_свежесть < текущее время(время сейчас),
иначе УСТАРЕЛ
УСТАРЕЛ если возраст > максимальный_возраст(Max)
СВЕЖИЙ если возраст_с_последнего_изменения <
процент_от_максимального_возраста_объекта, иначе УСТАРЕЛ
СВЕЖИЙ если возраст < минимальный_возраст(Min)
иначе УСТАРЕЛ
Тэги refresh_pattern проходятся по порядку сверху вниз. Первое совпадение и будет использоватся. Если совпадений не найдено, то будут использоватся настройки по умолчанию.
Рекомендуемые настройки:
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320