- From: Arthur van Hoff <avh@marimba.com>
- Date: Mon, 06 Oct 1997 12:52:08 -0700
- To: Push Workshop <www-push@w3.org>, DRP Mailing List <drp@marimba.com>
- Message-ID: <34394168.3185B89E@marimba.com>
Hi, In previous mail we have discussed the use of globally unique content identifiers in the DRP proposal. As a result of these discussion I would like to make some minor changes to the DRP proposal. The changes include some suggestions for modifications to the HTTP/1.1 specification. * Globally Unique Content Identifiers As suggested by Larry Masinter we should start using content identifiers as defined in RFC 2111 (http://www.ics.uci.edu/pub/ietf/uri/rfc2111.txt). As a result the notation for an MD5 and SHA checksum content identifiers will be as follows: FNG4c6MJLdDEY1rcoGb4pQ==@md5.w3.org thvDyvhfIqlvFe+A9MYgxAfm1q5=@sha.w3.org The first part of a checksum based content identifier will be the base-64 notation of the checksum, the address part identifies the type of checksum. Unlike the base64 specification I suggest that the trailing '=' signs are optional. For MD5 we shall use the "md5.w3.org" address, for SHA checksums we shall use "sha.w3.org". This way anyone can create new checksum types by appending the appropriate domain name to the content identifier. * Globally Unique Entity Tags We would like to suggest the following change to the definition of entity-tag in section 3.11 of the HTTP/1.1 specification: entity-tag = [ weak | global ] opaque-tag weak = "W/" global = "G/" opaque-tag = quoted-string | quoted-content-id quoted-content-id = <"> content-id <"> This will allow for the use of globally unique entity tags. To avoid conflicts a globally unique entity-tag should consist of a quoted content identifier as described above. The presents of a global entity tag identifies the content of the entity. A proxy can assume that two entities with identical global entity tags refer to the same content, regardless of their origin. * Differential Range Specifier To do differential update requests as described in the DRP proposal we can use the Range header. In this case the differential reply is viewed as a "range" of the new document given an older version. This requires a small change to the definition of ranges-specifier in section 14.36.1 of the HTTP/1.1 specification: ranges-specifier = byte-ranges-specifier | diff-range-specifier diff-ranges-specifier = "diff" "=" quoted-content-id To get a differential update a client must specify the content identifier of the current version of the resource. The server can reply with a 206 reply (partial content) or a 200 reply (OK). Please send me your comments. I will update the DRP specification accordingly and circulate the updated document. Have fun, Arthur van Hoff
Received on Monday, 6 October 1997 15:53:57 UTC