[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