[Zope] fastcgi protocol

Tino Wildenhain tino@wildenhain.de
Wed, 08 Aug 2001 21:51:16 +0200


Hi Robert,

hmm. I never really understand what value pcgi adds to zope
more then in situations mod_proxy and friends are not available.
I did not make measurements, but from what I see from others,
zope with pcgi is slower then zserver. You also loose the
various zserver modules like ftp and the extra DAV source
port. Even some upcoming extra services like smtp and imap
can be used then.

So, if its not for academical reasons, I dont think you should
invest too much energy in this project.

Hint: the pcgi specs should be available on apache.org.
If you use tcp, just install zope and apache on different
servers and watch the conversation with ethereal.

Regards
Tino

--On Mittwoch, 8. August 2001 16:20 +0200 Robert Frank <Robert.Frank@unibas.ch> wrote:

> Hi,
>
> I'm in the process of writing a Roxen (webserver) module which should
> interface with Zope. I would like to do the same as the fastcgi module does
> for Apache. I have set up a simulation program, which simulates Zope in
> order to get the Roxen module to work. Using the simulation programm
> everything is fine, but when using Zope ....
>
> I need to know what to send to the socket (true TCP, not domain!) and what
> to expect from it. I start Zope with the following options:
>   z2.py -X -u 90 -F 4445 -D
>
> Looking at the sources of Zope, I gathered the following:
> - open the socket
>
> - send a 10byte header containing the length of the following block
>   as zero padded ascii
> - send the block containing the environment variables,
>   each of the form:
>      variable=value\0
> - send a 10byte header containing the length of the following block
>   as zero padded ascii
> - send the block containing the data from the browser (excluding the
>   headers).
>
> - wait for a 10byte header containing the length of the following block
>   as zero padded ascii
> - read the data to be sent to the browser, adding the confirmation line
>   (e.g. HTTP 200 OK\r\n)
> - wait for a 10byte header containing the length of the following block
>   as zero padded ascii
> - read the error data
>
> - close the socket
>
> Is this correct? What environment variables are neccessary?
>
> Thanks for any clarification, I really, really hope that someone out there
> can enlighten me and that I can get the module to work!
>
> Robert
> -------------------------------------
> Institut fuer Informatik           tel  +41 (0)61 267 14 66
> Universitaet Basel                 fax. +41 (0)61 267 14 61
> Robert Frank
> Klingelbergstrasse 50   Robert.Frank@unibas.ch (NeXT,MIME mail ok)
> CH-4056 Basel           (remove any no_spam_ from my return address)
> Switzerland             http://www.ifi.unibas.ch/~frank
>
> _______________________________________________
> Zope maillist  -  Zope@zope.org
> http://lists.zope.org/mailman/listinfo/zope
> **   No cross posts or HTML encoding!  **
> (Related lists -
>  http://lists.zope.org/mailman/listinfo/zope-announce
>  http://lists.zope.org/mailman/listinfo/zope-dev )