[Next] [Previous] [Up] [Top] [Full Contents] [Search]
Appendices
This appendix gives an example on how the Entity-Header fields Version and Derived-From can be used to apply version control to the creation and parallel development of a work. In order to simplify the example, only two user agents (A and B) are considered together with an origin server S.
- A sends a POST request to S, including the header "Version: 1.0" and an entity
- S replies "201 Created" to A, including the header "Version: 1.0" and a URI-header which should be used for future references
- A starts editing the entity
- B sends a GET request to S
- S replies "200 OK" to B, including the entity with a header "Version: 1.0"
- B starts editing the entity
- B sends a PUT request to S, including the entity and a header "Derived-From: 1.0"
- S replies "204 No Content" to B, including a header "Version: 1.1" but no entity
- A sends a PUT request to S, including the entity and a header "Derived-From: 1.0"
- S replies "409 Conflict" to A, including "Version: 1.1" and the list of problems with merging A's changes to 1.0 with those already applied for B and version 1.1
- A merges B's changes with its own, possibly with help from the user of A
- A sends a PUT request to S including the entity and the header "Derived-From: 1.1"
- S replies "204 No Content" to A, including the header "Version: 1.2" but no entity
The example can be expanded to any number of involved user agents, though the likelihood of conflicts and the difficulty of resolving them may increase.
T. Berners-Lee, R. T. Fielding, H. Frystyk Nielsen - 12 MAR 95
[Next] [Previous] [Up] [Top] [Full Contents] [Search]
Generated with CERN WebMaker