On Wed, 31 Oct 2007 12:31:39 +1300 (NZDT)
"Amos Jeffries" <squid3@treenet.co.nz> wrote:
> > Hi there:
> > I'm having some problems understanding how the refresh_pattern
> > options works.
> > The Squid guide says:
> >
> >
> > FRESH if expires < now, else STALE
> > STALE if age > max
> > FRESH if lm-factor < percent, else STALE
> > FRESH if age < min
> > else STALE
> >
> > Min:
> > time (in minutes), an object without an explicit expire time should
> > be considered fresh.
> >
> > Percent:
> > percentage of the objects age (time since last modification age) an
> > object without explicit expire time will be considered fresh.
> >
> > Max:
> > upper limit on how long objects without an explicit expiry time will
> > be considered fresh.
> >
> >
> > So, my question is this; if the object's age is between Min and Max,
> > is it STALE or FRESH?
>
> That logic says STALE (!<min ... choosing else).
No it doesn't, you have to follow the pseudocode through until you get a
STALE/FRESH result, and then stop. If you can compute an lm-factor,
then the "age < min" line can't be reached.
Objects without an LM time cannot be refreshed, they have to be
refetched; without a min setting such objects would not be cached at
all.
> IMHO, Max is there because max-age (given by server) CAN be less than
> min (configured).
"max" is ignored if the server supplies an expiry time, it's there to
provide an upper-limit to how long a object can be kept fresh by its
lm-factor.
There are basically three classes of object:
1. with explicit expiry information (max/min/percent are ignored)
2. with LM, but no expiry - governed by percent and max.
3 with neither - governed by min
( Note that all of the above assumes that no refresh rule override
options have been set.)
Received on Tue Oct 30 2007 - 20:21:02 MDT
This archive was generated by hypermail pre-2.1.9 : Thu Nov 01 2007 - 13:00:02 MDT