Version identifier in URL

Jim Whitehead (ejw@ics.uci.edu)
Tue, 28 May 1996 13:49:51 -0700


One aspect of the versioning of WWW content which appears in all
work/proposals to date is a versioned HTTP GET method.  A versioned GET
supports browsing of an arbitrary version of an entity, a basic
requirement.  Examples of this include (references are to work which is
available from the working group home page, at URL:
<http://www.ics.uci.edu/~ejw/versioning/>)

Pettengill & Arango:
  - add a ",{version_identifier}" suffix to the end of a URL to specify the
version identifier

MKS:
  - add a ";version={version_identifier}" suffix to the end of a URL

Whitehead:
  - add a ";v={version_identifier}" suffix to the end of a URL

 From these examples, you can see that there is a basic similarity to all
approaches.

I would like to suggest we adopt the MKS approach for specifying version
identifiers in a versioned GET operation as a usage convention for our
future work.  I like the MKS approach because it uses a semicolon (;) to
separate the version specification from the rest of the path (this is
superior to a (,) because a comma is not a reserved character according to
the URL specification in RFC 1738 "Uniform Resource Locators", and hence
might legally be part of a path), and because the use of a full "version"
tag is more readable, and is less likely to have a name collision with
another URL usage convention than the "v" tag.

Note that this convention only specifies the version of the entity, and
does not specify the version of each directory in the heirarchy leading to
that entity.

Comments?

- Jim Whitehead <ejw@ics.uci.edu>