- From: Jim Luther <luther.j@apple.com>
- Date: Mon, 4 Feb 2002 11:05:02 -0800
- To: w3c-dist-auth@w3c.org
Hi, 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 <http://lists.w3.org/Archives/Public/w3c-dist- 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 resolved. As Yaron Goland said at the time <http://lists.w3.org/Archives/Public/w3c-dist- 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