I’m looking at the peer-to-peer synchronisation required for Pepys and came across (via Kevin Marks) RFC3229, Delta encoding in HTTP which might be food for thought. I’m probably going to use a RESTful communications protocol for the synch, most likely standard HTTP, so this RFC could be very useful.
The goals of this proposal are:
1. Reduce the mean size of HTTP responses, thereby improving latency and network utilization.
2. Avoid any extra network round trips.
3. Minimize the amount of per-request and per-response overheads.
4. Support a variety of encoding algorithms and formats.
5. Interoperate with HTTP/1.0 and HTTP/1.1.
6. Be fully optional for clients, proxies, and servers.
7. Allow moderately simple implementations.