Re: maxAgeFraction, Expires header questions

Juliusz Chroboczek <[email protected]> Wed, 08 Jan 2014 14:57:04 +0100
Newsgroups gmane.comp.web.polipo.user
Message-ID <87wqiazidr.wl%[email protected]>
> On 2014-01-07 I was getting "2.5.0" as result, but "2.7.0" was
> currently set and only returned by reloading the browser page.

> |   Date: Tue, 07 Jan 2014 07:50:40 GMT
> |   Age: 89273
> |   Last-Modified: Wed, 18 Dec 2013 22:35:10 GMT

The instance in cache is 20 days old, so maxAgeFraction dictates that
it should be used without revalidation for up to 2 days.  The proxy is
serving an instance that's slightly over 24 hours old (that's what the
Age header says), so everything is working as designed.  (You've set
maxAge to a very high value, so it doesn't trigger here.)

Note that the HTTP/1.1 caching protocol is a cooperative thing, and
both the server and the client get a chance to override Polipo's
heuristics:

  - the server could set a 'Cache-Control: max-age=???' header to
    force revalidation after a certain time;
  - the client could set a 'Cache-Control: max-age=???';
  - the client could notice that Polipo is serving an old instance
    (looking at the Age header, or the Warning header) and force
    end-to-end validation using a 'Cache-Control: no-cache' header.

-- Juliusz

------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk