4.3.3 Format of the on-disk cache
The on-disk cache consists of a collection of files, one per instance.
The format of an on-disk resource is similar to that of an HTTP
message: it starts with an HTTP status line, followed by HTTP headers,
followed by a blank line (‘\r\n\r\n’). The blank line is
optionally followed by a number of binary zeroes. The body of the
instance follows.
The headers of an on-disk file have a few minor differences with HTTP
messages. Obviously, there is never a ‘Transfer-Encoding’ line.
A few additional headers are used by Polipo for its internal
bookkeeping:
- ‘X-Polipo-Location’: this is the URL of the resource stored in this
file. This is always present.
- ‘X-Polipo-Date’: this is Polipo’s estimation of the date at which
this instance was last validated, and is used for generating the
‘Age’ header of HTTP messages. This is optional, and only stored
if different from the instance’s date.
- ‘X-Polipo-Access’: this is the date when the instance was last
accessed by Polipo, and is used for cache purging (see Purging).
This is optional, and is absent if the instance was never accessed.
- ‘X-Polipo-Body-Offset’: the presence of this line indicates that
the blank line following the headers is followed by a number of zero
bytes. Its value is an integer, which indicates the offset since the
beginning of the file at which the instance body actually starts.
This line is optional, and if absent the body starts immediately after
the blank line.