On Wed, 23 Dec 2009 16:34:37 -0800 Manjusha Maddala <mmaddala25@xxxxxxxxxx> wrote: > >From "Squid - the definitive guide", a simplified description of the > refresh_pattern algorithm is: > > - The response is stale if the response age is greater than the > refresh_pattern max value. > - The response is fresh if the LM-factor is less than the > refresh_pattern percent value. > - The response is fresh if the response age is less than the > refresh_pattern min value. > - Otherwise, the response is stale. > > The webserver I have neither sends a Last-modified header nor an > Expires header. That's odd, if you don't have Last-Modified, or an equivalent header, you shouldn't see TCP_REFRESH_MISS. Does it have a cache-control header instead of Expires? Are you sure you aren't hitting a previous refresh_pattern line? > > >From squid.conf, > > > refresh_pattern . 21600 100% 21600 override-expire > > > > > > That is, a cached page is fresh if its age in cache < 15 days > > > (21600=15*24*60). > > > > > > not quite, an object without an explicit expiry time, but that > > can be validated, could be stale in less than 15 days. > > > > So, won't all pages with response age < 15 be considered fresh? If an object lacks explicit expiry information and can be validated, it's governed by the percentage and max-age only, and is stale if either is exceeded e.g. a object that was last-modified 5 days ago and validated 3 days ago will have exceeded your 100% limit.