Client and server based copies of a file are maintained in synchronicity
as changes are made to the file. Data is compared to a previous version
known to both the client and server and a highly compressed
representation of the differences between the two is generated. These
differences, or "diffs", are then transmitted, and may use extensions to
the HTTP (HyperText Transport Protocol) protocol.