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

RE: DAV Perl Module - HTTP::Dav.pm

From: Jim Whitehead <ejw@ics.uci.edu>
Date: Tue, 7 Mar 2000 10:55:19 -0800
To: Patrick Collins <pcollins@web.fairfax.com.au>, w3c-dist-auth@w3.org
Message-ID: <NDBBIKLAGLCOPGKGADOJEEGCCPAA.ejw@ics.uci.edu>

> My problem is this. Gisle's LibWWW modules only supports HTTP/1.0. But
> so far I haven't noticed a problem communicating as an HTTP/1.0 WebDAV
> client to an HTTP/1.1 WebDAV server (well mod_dav 0.9.14 actually).
>
> Can you please tell me, why was WebDAV built on top of HTTP/1.1 instead
> of just HTTP/1.0. Or more specifically, are there specific features
> available in HTTP/1.1 that will prevent my client from being a fully
> Class1 and Class2 compliant WebDAV client? If so, I've got a lot more
> work because I'll have to write an HTTP/1.1 version of Gisle's LibWWW.

There were several reasons for using HTTP/1.1.

1) HTTP/1.0 is an Informational standard, and not a standards track document
within the IETF.  Since we wanted WebDAV to be a standards track protocol,
we needed to build upon another standards track protocol. HTTP/1.1 is
standards track.

2) HTTP/1.1 provides persistent connections, which provide significant
performance improvements over HTTP/1.0, since a TCP connection does not need
to be created for each method. Since WebDAV clients often send bursts of
several methods, it is better for WebDAV clients to use HTTP/1.1 style
persistent connections.

3) Digest authentication was defined to work with HTTP/1.1 (although I
suspect it would also work with HTTP/1.0), and WebDAV needed to require a
better authentication mechanism than HTTP Basic authentication.

4) HTTP/1.1 requires HTTP/1.1 compliant proxies to pass through unknown
methods.  HTTP/1.0 proxies have no such restriction.  This allows new
methods, such as those defined in WebDAV, to be passed through proxies.

5) The Host header, required for HTTP/1.1 clients, allows servers to manage
multiple DNS hosts at the same time.

Which of these features do you need to implement to be compliant?

- you must ensure the Host header is sent with every method
- you must implement Digest authentication
- you must support persistent connections

There may be other features too (these are just the most important ones that
I can remember off the top of my head).

- Jim
Received on Tuesday, 7 March 2000 13:55:17 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 2 June 2009 18:43:54 GMT