- From: Brian Behlendorf <brian@organic.com>
- Date: Sun, 12 Nov 1995 21:31:29 -0800 (PST)
- To: http-wg%cuckoo.hpl.hp.com@hplb.hpl.hp.com
Okay, so we have a suggested algorithm: 1) Clients send the byte range as an HTTP header, something like "Request-Range: bytes=500-999". 2) Servers either a) Respond with "206 Partial Content", with the same headers as what the full object would get, the only difference being "Content-Length". b) Respond with "200 Ok" if they don't support that header for that object. It's expected that some servers won't support the header for a class of documents (CGI scripts, parsed documents, other forms of dynamic documents) but that is an implementation decision. Note that this would be the default behavior for servers which do not understand the new header. 3) Proxies act like a client when pulling in data, and a server when pushing out data. Note that the default behavior of existing proxies will be to ship around the full object, which is preferable to failure, partial objects, or redundant data (i.e., having both a full object and parts of the same object in the cache). Could we discuss the benefits/drawbacks of this algorithm? The only thing which this document does not address is a syntax for encoding byte ranges into URLs, with the expectation that its syntax would be standardized and recognized by proxies/servers across the board for the purpose of optimization. I would suggest that another mechanism be proposed for query by structure for more complex data types. The main purpose of this algorithm is graceful recovery from aborted transfers. Brian --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-- brian@organic.com brian@hyperreal.com http://www.[hyperreal,organic].com/
Received on Sunday, 12 November 1995 22:21:30 UTC