[Zope3-dev] DISCUSS: Correct sequence for PUT
Paul Everitt
paul@zope-europe.org
Wed, 19 Feb 2003 16:38:44 +0100
On Wednesday, Feb 19, 2003, at 16:22 Europe/Paris, Shane Hathaway wrote:
> Paul Everitt wrote:
>> Howdy. I just started putting PUT support into the stuff I'm doing
>> with Moztop. I used Shane's nice "tcpwatch" application to record
>> the request/response interaction, then compared it to a PUT to >> Apache.
>
> It's a shame that tcpwatch isn't well known outside the Zope
> community. The advantage over tools like tcpdump and ethereal is
> that it doesn't require Unix, doesn't require special support from the
> kernel, and it doesn't require root privileges. Its function is
> simple but it does its little job well, I think.
Indeed. The tkinter version launched perfectly on Win98. Everything
works really well, except I have to remember not to close it from the
tkinter window (which hangs the app until a windows reboot!). I close
it from the command line that launched it w/ a cntrl-c.
Yes, it has been invaluable to me in debugging things. I didn't know
that Mozilla's serializer will choose its own namespace prefixes.
Thus, my davclient in JavaScript was sending a namespace prefix that
wasn't "D:" for DV requests. And alas, Zope doesn't actually xml parse
the request, it just looks for a regex (I think).
tcpwatch made catching that kind of thing pretty quick.
>> At the end I have cut-and-pasted the request/response for Zope 3 and
>> for Apache 2.
>> Some points and questions:
>> 1) Zope 3 identifies itself as an HTTP/1.1 server. I didn't realize
>> we supported HTTP/1.1. How much is actually there?
>
> Most of it. You can persist connections, pipeline, and chunk. There
> are unit tests that verify these features work. You can even send
> huge files and Zope won't gobble up RAM--it will put them in a
> temporary file. Same thing applies when downloading large files,
> though large downloads aren't currently very fast.
Very nice! These DAV clients are awfully chatty. But they seem to do
them over a persistent connection.
--Paul