Internet-Drafts related to delta encoding in HTTP

Some of you are probably aware of the SIGCOMM '97 paper I co-authored
with Fred Douglis, Anja Feldmann, and Bala Krishnamurthy of AT&T, on
the subject of "delta encoding."  The idea is certainly not original
with us, but we seem to have become the first to propose a specific
set of protocol extensions to HTTP to support delta encoding.  At
about the same time, a group of people from a long list of companies
submitted a proposal to W3C for a "Distribution and Replication
Protocol" (DRP) that had a similar feature.

So we pooled our efforts, and we've now generated an Internet-Draft
describing the proposed extension:

    ftp://ietf.org/internet-drafts/draft-mogul-http-delta-00.txt
    
    "Delta encoding in HTTP"
    J Mogul, Y. Goland, Arthur van Hoff, Fred Douglis, Anja Feldmann,
	    Balachander Krishnamurthy
    01/13/1998. (104930 bytes) 

     Many HTTP requests cause the retrieval of slightly modified
     instances of resources for which the client already has a cache
     entry. Research has shown that such modifying updates are
     frequent, and that the modifications are typically much smaller
     than the actual entity. In such cases, HTTP would make more
     efficient use of network bandwidth if it could transfer a minimal
     description of the changes, rather than the entire new instance of
     the resource. This is called ``delta encoding.'' This document
     describes how delta encoding can be supported as a compatible
     extension to HTTP/1.1.

This is not a work item for the HTTP-WG (at least, not under the
current charter), but we thought it would be a good idea to encourage
comments from the HTTP-WG.  Note that this is a first draft, not
a final specification, so constructive comments are especially
welcome.  This is a fairly long draft (sorry, I tend to err on the
side of including too much) but the actual set of extensions proposed
for HTTP is fairly compact.

For reasons that are explained in draft-mogul-http-delta-00, some
of us believe that we needed a different kind of integrity mechanism
than is currently provided in HTTP/1.1.  A simple mechanism is
proposed in another Internet-Draft:

    ftp://ietf.org/internet-drafts/draft-mogul-http-digest-00.txt

    "Instance Digests in HTTP"
    J Mogul, Arthur van Hoff
    01/13/1998. (24829 bytes) 

     HTTP/1.1 defines a Content-MD5 header that allows a server to
     include a digest of the response body. However, this is
     specifically defined to cover the body of the actual message, not
     the contents of the full file (which might be quite different, if
     the response is a Content-Range, or uses a delta encoding). Also,
     the Content-MD5 is limited to one specific digest algorithm; other
     algorithms, such as SHA-1, may be more appropriate in some
     circumstances. Finally, HTTP/1.1 provides no explicit mechanism by
     which a client may request a digest. This document proposes HTTP
     extensions that solve these problems.

Again, constructive comments are welcome.  Please be careful to
distinguish between this "Digest" proposal and the "Digest
Authentication" part of HTTP/1.1, which are two entirely different
things.

We expect to generate a few more drafts as a consequence of trying
to recast DRP as a set of relatively independent extensions to HTTP.
This does not mean that the DRP proposal is being abandoned, but it
is quite likely that it will be possible to simplify DRP by adding
some generally-useful extensions to HTTP instead.

-Jeff

Received on Friday, 16 January 1998 18:01:23 UTC