W3C home > Mailing lists > Public > w3c-dist-auth@w3.org > January to March 2002

Whatever happened with Partial PUTs

From: Jim Luther <luther.j@apple.com>
Date: Mon, 4 Feb 2002 11:05:02 -0800
To: w3c-dist-auth@w3c.org
Message-Id: <17613F8B-19A2-11D6-BBB6-0003934B6A22@apple.com>

Last week I posted something to the HTTP list (copied below) and I've 
received no response. So this morning I searched the w3c archives and 
found that my issue had been discussed before on this list (see 
auth/1997JanMar/thread.html> and look for "Partial Put"). However, I 
didn't find that the issue of partial or ranged PUTs has ever been 

As Yaron Goland said at the time 
auth/1997JanMar/0258.html>, "As anyone running on a 28.8 modem or less 
will tell you, this isn't an optimization, this features determines if 
the user can function." I wouldn't limit that to 28.8 modems -- with 
large enough files, this can even affect users with fast connections.

I know that mod_dav allows Content-Range headers with PUTs. However, it 
only allows a file's existing content to be changed and for new content 
to be appended to the end of the existing content. We also need to be 
able to change the length of a resource without changing the content.

So, what happened with this issue?

Jim Luther
Apple Computer, Inc.

> From: Jim Luther <luther.j@apple.com>
> Date: Thu Jan 31, 2002  06:13:20 PM US/Pacific
> To: http-wg@cuckoo.hpl.hp.com
> Subject: Ranged PUT and changing an entity's length
> Hi,
> Mac OS X has a file system which uses HTTP and the WebDAV extensions. 
> Today, when an file entity on a DAV server is opened with write access, 
> our file system GETs the entire entity from the server and then works 
> with the local copy. When that entity is closed or synced, the local 
> copy is PUT back to the server.
> I'd like to change our code so that individual write requests to the 
> server entity are write-through to the server, but to do that, I need 
> to be able to do a ranged PUT with the range possibly starting and 
> ending beyond the entity's current instance-length (the current length 
> of the entity on the server). In addition, to be able to handle seek 
> and truncate requests, I need to be able to change the instance-length 
> without changing any data to both to make the entity either larger or 
> smaller.
> RFC 2616 doesn't really say how a Content-Range header might be used to 
> specify a ranged PUT request (it only discusses how a server would use 
> it to reply to a ranged GET), and nowhere that I can find does the RFC 
> say how the length of an entity can be changed (although I was thinking 
> that maybe the byte-content-range-spec in a Content-Range header could 
> look something like "bytes */100" to set the length of an entity to 100 
> without changing any data).
> So, my two questions:
> 1 - Are ranged PUTs possible and if so, what should the headers look 
> like?
> 2 - Can the length of an entity be changed and if so, what should the 
> headers look like?
> Thanks,
> Jim Luther
> Apple Computer
Received on Monday, 4 February 2002 14:05:09 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 15:01:24 UTC