httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alexei Kosut <ako...@nueva.pvt.k12.ca.us>
Subject Re: Netscape/byte ranges/1.0/1.1
Date Tue, 26 Nov 1996 01:37:45 GMT
On Tue, 26 Nov 1996, Rob Hartill wrote:

> I'm talking to someone who says that Apache 1.2 is broken w.r.t
> byte range interactions with Netscape.

I haven't tested it with Netscape per se (I could never work out when
exactly it was that Netscape did the byte-range thing). But Apache's
implementation is a full implementation of the HTTP/1.1 spec, which
should be compatible with that used by Netscape Navigator 2.0b2 (or
was that 3.0b2 - I forget) and later (earlier versions used that weird
semicolon notation for byte ranges).

> Should Netscape work ok with these ?

Yes, pretty much. Unless Netscape does weird things; it may in fact
use a proprietary form when talking to Netscape servers. OTOH,
Netscape's FastTrack and Enterprise servers support a weird subset of
byte ranges, as described by HTTP/1.1. They don't support the If-Range
header, but do seem to support the Range: header okay, and it sends
Accept-Ranges with requests that support it. Except for one weird
thing (and this is with the Netscape-Enterprise/2.0b4 that
home.netscape.com is running) - if you request a multipart byterange,
it comes back as multipart/mixed, instead of
multipart/byteranges. 2.0a used multipart/x-byteranges, but apparently
they decided to change it. I think this can be chalked up to Netscape
weirdness, and the fact that no one really uses multipart byteranges
(Navigator doesn't, I'm quite sure of that).

> I don't know what version of Netscape he's testing with or how old
> a 1.2-dev he has, so some of this may be solved by updating both client
> and server, however I'd still like to understand how things are supposed to
> work..

*shrug* I've been wondering that myself. I know that were I an
HTTP/1.1 client, I wouldn't trust an HTTP/1.0 server that claims to
support byte ranges, because there have been some weird
implementations of it (like Netscape's), but the server should be able
to trust that the client does what it should be doing.

I do know that Lou Montulli has claimed over on http-wg or somesuch
that Navigator will (that being the present tense), if it has part of
an image cached, do a HEAD request to see if the image has changed,
and if it hasn't, it will request a byte range of the rest if the
server has sent an Accept-Ranges header. I have yet to confirm this.

> Anyway, *he* reckons that a HTTP/1.1 server shouldn't accept a "range" header
> from a HTTP/1.0 client because 1.0 isn't supposed to have them.

Baloney, IMHO.

> >From what I've picked up listening (though not carefully enough
> to know for sure) to 1.1 discussions on this list is that 1.0 clients
> and servers can send new 1.1 headers (not marked HTTP/1.1 though) to each
> other as long as the other end can ignore what it doesn't reckognise
> without that causing problems, i.e.  as long as the rest of the headers
> make sense in 1.0.

Yep.

> So, if Netscape does send HTTP/1.1 incompatible  "range" related headers
> (I don't know if it does) but in a HTTP/1.0 request, then Netscape is
> broken and Apache doesn't need fixing.  Is this correct ?

Yes.

> Did Netscape jump the gun and implement 1.1 features that were still
> fluid ?

Netscape invented byte ranges, to some degree, and then let the
http-wg rewrite it for HTTP/1.1 after they'd already implemented it in
Navigator. *shrug*

-- 
________________________________________________________________________
Alexei Kosut <akosut@nueva.pvt.k12.ca.us>      The Apache HTTP Server
URL: http://www.nueva.pvt.k12.ca.us/~akosut/   http://www.apache.org/


Mime
View raw message