[Zope3-dev] DISCUSS: Correct sequence for PUT

Shane Hathaway shane@zope.com
Wed, 19 Feb 2003 10:22:32 -0500


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.

> 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.

Before we move to Twisted, I'd like to see these features integrated 
into Twisted's HTTP server.

BTW it may seem strange, but Zope 3's HTTP server and TCPWatch actually 
share code. :-)

Shane