Server Side Signatures for rsync-in-http Martin Pool Clients send a request including a ``Rsync-signature:'' header on all requests; if they have no cached data then the signature is of zero length. If this header is not sent the server does nothing. When the server sends data to an rsync-capable client, it can send it with with an rsync encoding, which includes a signature at the end. The server has to generate this signature on each file it sends. Potentially they could be cached for static files but for dynamic pages they must be generated on each request. The client stores the signature in its cache. The signature is completely opaque to the client, which avoids the patent problem and keeps the client code quite simple. One drawback is that the client can't use rsync to heal damaged files. Consider for example the case where a client has almost downloaded a complete file but the transfer was interrupted. If we were using standard rsync then it could continue, but if using server-generated signatures we don't have a signature until we complete a full download. Where do we store the signature? Should we put it intermingled in the body, or send it at the end in a trailer, or at the end inline with the body?