[Zope-Coders] RFC: Remove funky WebDAV hackery?
Brian Lloyd
brian@zope.com
Wed, 7 Aug 2002 16:42:57 -0400
> There are at least three places in the Zope2 source tree which make
> weird changes to the response object, presumably to support flaky
> Borg-ish clients.
>
> ZServer/HTTPResponse.py -- injects an empty 'Etag:' header, if the
> response hasn't set one explicitly. This behavior is totally
> unhelpful; an empty Etag can't be used properly to do *anything*
> that Etags are for; I am guessing that some client (the way-brokey
> WebFolders, perhaps?) won't do WebDAV unless an Etag is present?
>
> lib/python/webdav/{Collection,Resource} -- 'dav__init'
> sets a weird, custom header,'MS-Author-Via', to 'DAV'; again, I
> presume this permits some flaky client to work well with the
> object handling the request.
>
> The first change in particular is obnoxious; some caches may refuse to
> cache pages with empty Etags, because they cannot be validated. The
> second change could be less obnoxious if it was only done in the
> presence of the broken clients.
>
> Can anyone shed further light on this?
You'd have to look back through the collector on the
first one; I fuzzily remember Andreas adding that to
resolve some DAV client problem (which one I don't
remember). If it is causing actual cache problems we
could consider taking it out (or doing it in a smarter
way), but we'd need to go back and find out what the
effect of that would be first.
As for dav__init, yes, the nasty 'MS-Author-Via' is needed
for all kinds of MS DAV support to work. Hopefully they
don't rely on that anymore in more recent versions of their
DAV-aware software, but older stuff requires it.
Brian Lloyd brian@zope.com
V.P. Engineering 540.361.1716
Zope Corporation http://www.zope.com