Re: Suggestion for HTTP 1.0

In message <> of Thu, 23 Mar 1995 08:30:44
  -0800, you wrote:

> 1. The mobile client requests a document from the proxy, indicating it only
>  wants a single "page" (of client-specified length).
> 2. The proxy fetches the full document (or perhaps only the first page,
>  depending on the version of its source)
> 3. The proxy returns the desired "page" to the client.

The mobile client can do this by specifying a small TCP receive window and
not opening it again.  If you want the first 1024 bytes, for instance, you
set the TCP receive window to 1024 + the probable length of the reply
header.  When you receive the reply header, make sure the TCP window doesn't
move, but will decrease to zero.

If the user wants more of the document (or it doesn't fill a page, or
whatever), a TCP ACK can be sent reopening the window.  If the proxy hasn't
timed out yet, then you win (why? because under your proposed scheme the
client would have to make a second request to the server for the next page
in all cases).  If the proxy has timed out you have to reconnect.

To prevent overloading the proxy, the client should reset the quiet TCP
connection after a while.  It's ungracious, but a normal close would
wait for the proxy to download the rest of the data, which is wrong.

> BNF Description of Octet-Range in the Object Header:
> Octet-Range = "Octet-Range" ":" start "-" end
>  start  =  1 * DIGIT
>  end  = 1 * DIGIT

This was discussed on the http list a short while ago.  Some servers
implement a hack where ";bytes=0-1023" can be appended to a URI to
request the first 1024 bytes, etc.  Larry Masinter mentioned a
GET_PARTIAL request, which I'd prefer if you're going to do something
like Octet-Range.

The Relative URI draft mentions the "param" part of the URI (after the
semicolon).  This seems to bless WN's ;bytes=start-finish hack.  Plus
it has prior implementation (I'm told GN does the same thing).

So I'd recommend using a WN-style "bytes" param in the URI.  There's no
technical problem implementing Octet-Range that I can see, it's just that
it seems aesthetically important that the URI should correspond to the
data returned (rather than to a larger body containing the returned data).

>  Best Regards,
>  Ray Rischpater
>  Software Craftsman

Interesting job title.

--   <g=Adrian;s=Colley;o=SSE;p=SSE;a=EIRMAIL400;c=ie>
phones:- work: +353-1-6769089; fax: +353-1-6767984; home: +353-1-6606239
employer: Software and Systems Engineering (+=disclaimer)  (Perth)->o~^\
Y!AWGMTPOAFWY? 4 lines, ok? qebas perl unix-haters kill microsoft  \@##/

Received on Thursday, 23 March 1995 09:27:59 UTC