#### 4.1.1 Tuning validation behaviour

Polipo's revalidation behaviour is controlled by a number of variables. In the following, an resource's age is the time since it was last validated, either because it was fetched from the server or because it was revalidated.

The policy defining when cached instances become stale in the absence of server-provided information is controlled by the variables `maxAge`, `maxAgeFraction`, `maxExpiresAge` and `maxNoModifiedAge`. If an instance has an ‘`Expires`’ header, it becomes stale at the date given by that header, or when its age becomes larger than `maxExpiresAge`, whichever happens first. If an instance has no ‘`Expires`’ header but has a ‘`LastModified`’ header, it becomes stale when its age reaches either `maxAgeFraction` of the time since it was last modified or else the absolute value `maxAge`, whichever happens first. Finally, if an instance has neither ‘`Expires`’ nor ‘`Last-Modified`’, it will become stale when its age reaches `maxNoModifiedAge`.