Please get comments back to me by Wednesday morning (EDT), if you want them incorporated before I ship something off to the IETF as an internet draft Thursday afternoon. - David <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0 Strict//EN">
Before attempting to develop a convention for recording document version information in HTTP URLs, we must decide on the functional requirements that such a notation must, and must not, satisfy. Such a requirements analysis will allow the working group to quickly elminate those proposed notations that clearly fail to satisfy the requirements, and discuss the relative merits of the (hopefully several) contenders left in the light of a common framework.
The requirements listed in this document were condensed from the discussions held on the WWW Versioning Working Group.
Before starting in to the development of the requirements of any notation for embedding version information in URLs, the first question must be, "Is there a requirement that we be able to do so?" While the research group at NTT expressed some concern at the group's assumption that such a capability was necessary, the general concensus has been that the ability to embed hypertextual links to historical versions of documents is valuable.
Given that we want to be able to link to historical
revisions of a document, there are two routes open to us:
extend HTML to provide a way to store the information,
perhaps as a new attribute for the HTML A
tag; or
embed such information in the URL itself. While the former
method is conceptually more in keeping with the SGML way of
doing things, it does have the drawback that existing Web
clients will be unable to access the information in any
meaningful way. Thus, we are limited to embedding version
control information in the HTTP URL itself.
As well as listing the requirements that any notation must satisfy, it's useful to provide a list of anti-requirements. Anti-requirements describe functionality that the notation is explicity not required to support or, more strongly, is required to not support.