[ZDP] Zope Architecture

Martijn Faassen M.Faassen@vet.uu.nl
Wed, 19 May 1999 15:24:40 +0200

Tom Deprez wrote:
> >ZServer is _based_ on Medusa, and is a fast architecture for publishing
> >Zope. It can accept FTP and HTTP connections, so you can approach it using
> >your browser or FTP client. It can also be accessed using PCGI and other
> >protocols, so you could in theory place a webserver (like Medusa itself, or
> >Netscape Enterprise or Apache), and have it contact ZServer for further
> >processing.
> So, .... normally you only have to install Zope.... You don't need any
> Server (like Medusa, Apache, ZopeHTTPServer) to get it working? Why then is
> when installing Zope, the ZopeHTTPServer configured as Server?

What I understand of it is the following:

* Zope needs *some* webserver. That's something that can answer to HTTP
requests browsers send to it.

* The current day Zope releases include ZopeHTTPServer, a simple Python
based webserver. The main advantage is ease of installation; no apache
configuration etc.

* Zope also allows connections from other webservers, such as Apache.
This usually goes through a simple CGI script (and PGCI fits into this
picture somewhere..).

* The new in-development prereleased Zope also includes ZServer, which
is a more advanced Python based webserver. ZServer is based on the
Medusa code. That is, ZServer is a Medusa derivative. ZServer is faster
than ZopeHTTPServer (how fast compared to for instance Apache?), and
also understands other protocols such as FTP.

* So, you can configure the up and coming Zope to use either the
included ZopeHTTPServer (is this going again in the future?), the
included new ZServer, or some external webserver like Apache.

* Now, my question would be: it should be possible to offer FTP support
but still run Apache (for instance because many sites still want the
ability to publish non-Zope pages and do traditional web stuff). I
understand that this is possible, but how does this work exactly? Does
Apache (for instance) handle HTTP requests and ZServer FTP requests? Or
does ZServer get handed these HTTP requests from Apache anyway? I'm a
bit muddled about how that's going to work.
> >No, WebDAV is completely handled by Zope.
> ... ? How can I make contact with my browser to ZServer? I thought that
> when I ask for an HTTP-request, my browser makes contact with the WebServer
> (e.g. Medusa, Apache) and then the WebServer makes contact with ZServer.
> Thus browser isn't directly connected with ZServer

If I understand Martijn Pieters right, you need a web server that passes
the WebDAV requests on to Zope. Apache can be made to do this with a
patch, I assume ZServer can also do this. Traditional webservers don't
pass this information along, as they don't understand what's going on
and therefore don't do anything (always a safe thing to do -- I wish web
browsers took that policy from the start, we mightn't have the web of
messy HTML now if they had.. This is also the policy of XML).