2.2.1.21.1 Empty Sync Request

If the client sends a Sync request (section 2.2.1.21) with no client additions, changes, or deletes, the server caches the request. If no changes are detected on the server, the Sync response includes only HTTP headers, and no XML payload, and is referred to as an empty Sync response.

When the client receives the empty Sync response, if there are no pending client changes, the client in turn can send only the HTTP headers, and no XML payload in the Sync request to save bandwidth. This request is referred to as an empty Sync request. If bandwidth is not a concern, the client can send a Sync request with an XML payload.

When the server receives the empty Sync request, the server assumes the request is identical to the cached request, so it retrieves the cached request and uses it. The cached request is discarded when the server receives a Sync request with an XML payload (a non-empty Sync request). This exchange of the empty Sync requests and responses continues until a change is detected on either the client or server. For an example empty Sync request and response, see section 4.5.10.