usage: refresh_pattern [-i] regex min percent max [options]
By default, regular expressions are CASE-SENSITIVE. To make
them case-insensitive, use the -i option.
'Min' is the time (in minutes) an object without an explicit
expiry time should be considered fresh. The recommended
value is 0, any higher values may cause dynamic applications
to be erroneously cached unless the application designer
has taken the appropriate actions.
'Percent' is used to compute the max-age value for responses
with a Last-Modified header and no Cache-Control:max-age nor Expires.
Cache-Control:max-age = ( Date - Last-Modified ) * percent
'Max' is an upper limit on how long objects without an explicit
expiry time will be considered fresh. The value is also used
to form Cache-Control: max-age header for a request sent from
Squid to origin/parent.
options: override-expire
override-lastmod
reload-into-ims
ignore-reload
ignore-no-store
ignore-private
max-stale=NN
refresh-ims
store-stale
override-expire enforces min age even if the server
sent an explicit expiry time (e.g., with the
Expires: header or Cache-Control: max-age). Doing this
VIOLATES the HTTP standard. Enabling this feature
could make you liable for problems which it causes.
Note: override-expire does not enforce staleness - it only extends
freshness / min. If the server returns a Expires time which
is longer than your max time, Squid will still consider
the object fresh for that period of time.
override-lastmod enforces min age even on objects
that were modified recently.
reload-into-ims changes a client no-cache or ``reload''
request for a cached entry into a conditional request using
If-Modified-Since and/or If-None-Match headers, provided the
cached entry has a Last-Modified and/or a strong ETag header.
Doing this VIOLATES the HTTP standard. Enabling this feature
could make you liable for problems which it causes.
ignore-reload ignores a client no-cache or ``reload''
header. Doing this VIOLATES the HTTP standard. Enabling
this feature could make you liable for problems which
it causes.
ignore-no-store ignores any ``Cache-control: no-store''
headers received from a server. Doing this VIOLATES
the HTTP standard. Enabling this feature could make you
liable for problems which it causes.
ignore-private ignores any ``Cache-control: private''
headers received from a server. Doing this VIOLATES
the HTTP standard. Enabling this feature could make you
liable for problems which it causes.
refresh-ims causes squid to contact the origin server
when a client issues an If-Modified-Since request. This
ensures that the client will receive an updated version
if one is available.
store-stale stores responses even if they don't have explicit
freshness or a validator (i.e., Last-Modified or an ETag)
present, or if they're already stale. By default, Squid will
not cache such responses because they usually can't be
reused. Note that such responses will be stale by default.
max-stale=NN provide a maximum staleness factor. Squid won't
serve objects more stale than this even if it failed to
validate the object. Default: use the max_stale global limit.
Basically a cached object is:
FRESH if expire > now, else STALE
STALE if age > max
FRESH if lm-factor < percent, else STALE
FRESH if age < min
else STALE
The refresh_pattern lines are checked in the order listed here.
The first entry which matches is used. If none of the entries
match the default will be used.
Note, you must uncomment all the default lines if you want
to change one. The default setting is only active if none is
used.
#
# Add any of your own refresh_pattern entries above these.
#
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320