How are Cache Digests transferred between peers?
Cache Digests are fetched from peers using the standard HTTP protocol (note that a pull rather than push technique is used). After the first access to a peer, a peerDigestValidate event is queued (this event decides if it is time to fetch a new version of a digest from a peer). The queuing delay depends on the number of peers already queued for validation – so that all digests from different peers are not fetched simultaneously. A peer answering a request for its digest will specify an expiry time for that digest by using the HTTP Expires header. The requesting cache thus knows when it should request a fresh copy of that peers digest. Note: requesting caches use an If-Modified-Since request in case the peer has not rebuilt its digest for some reason since the last time it was fetched.