In an ideal world, all machines would have perfect connectivity to the
network at all times and servers would never crash. In the real
world, the values of the variables proxyOffline
and
relaxTransparency
can be used to moderate Polipo's eagerness to
contact remote machines.
Setting proxyOffline
to true
, prevents Polipo from
contacting remote servers, no matter what. This setting is suitable
when you have no network connection whatsoever.
If proxyOffline
is false, Polipo's behaviour is controlled by
the variable relaxTransparency
. If relaxTransparency
is
false
(the default), all stale instances are validated
(see Cache transparency), and failures to connect are reported to
the client. This is the default mode of operation of most other
proxies, and the least likely to surprise the user.
If relaxTransparency
is maybe
, all stale instances are
still validated, but a failure to connect is only reported as an error
if no data is available in the cache. If a connection fails and stale
data is available, it is served to the client with a suitable HTTP/1.1
Warning
header. Current user-agents do not provide visible
indication of such warnings, however, and this setting will typically
cause the browser to display stale data with no indication that
anything went wrong. This setting is useful when you are consulting a
live web site but don't want to be bothered with failed revalidations.
If relaxTransparency
is true
, missing data is fetched
from remote servers, but stale data are unconditionally served with no
validation. Client-side Cache-Control
directives are still
honoured, which means that you can force an end-to-end revalidation
from the browser's interface (typically by shift-clicking on
"reload"). This setting is useful if you have very bad network
connectivity or are consulting a very slow web site or one that
provides wrong cache control
information1 and are
willing to manually revalidate pages that you suspect are stale.