Client Uses Server-Side Conflict Detection

Client Uses Server-Side Conflict Detection

This content is no longer actively maintained. It is provided as is, for anyone who may still be using these technologies, with no warranties or claims of accuracy with regard to the most recent product version or service release.

The following scenario uses server-side conlict detection to avoid uploading content to the server:

Client A has previously downloaded resource 'docE' and its corresponding resourcetag.

Request

GET /docs/docE HTTP/1.1

Response

HTTP/1.1 200 OK
ResourceTag: <rt:doc-01>
Content-type: text/plain
Content-length: {insert length here}

This is the content of text document docE.

Client A goes offline and makes changes to resource 'docE'. In the meantime, Client B changes the contents of resource 'docE' on the server, thus resulting in a different resourcetag.

Client A comes online and needs to upload its changes to resource 'docE' on the server only if the client and server state of the resource are same. Using the in the resourcetag in the If Header, the PUT method request fails because the resourcetag the client previously obtained doesn't match the resourcetag of the new resource on the server.

Request

PUT /docs/docE HTTP/1.1
Host: example.org
If: (<rt:doc-01>)
Content-type: text/plain
Content-length: {insert length here}

New contents of resource docE

Response

HTTP/1.1 412 Precondition Failed

Send us your feedback about the Microsoft Exchange Server 2003 SDK.

This topic last updated: December 2004

Build: June 2007 (2007.618.1)

© 2003-2006 Microsoft Corporation. All rights reserved. Terms of use.