Hello! Is there any plan to make complex "Apache + Zope" even more efficient by making Zope.cgi a module (mod_zope, let's name it, or mod_pcgi)? Oleg. ---- Oleg Broytmann National Research Surgery Centre http://sun.med.ru/~phd/ Programmers don't die, they just GOSUB without RETURN.
Oleg Broytmann wrote:
Is there any plan to make complex "Apache + Zope" even more efficient by making Zope.cgi a module (mod_zope, let's name it, or mod_pcgi)?
A mod_pcgi Apache module has been discussed. It would certainly be more efficient. One of the issues would be whether pcgi should get out of the process launch business, which would simplify a mod_pcgi and make it easier to debug. -Jeff Bauer
Hello! On Fri, 12 Mar 1999, Jeff Bauer wrote:
Oleg Broytmann wrote:
Is there any plan to make complex "Apache + Zope" even more efficient by making Zope.cgi a module (mod_zope, let's name it, or mod_pcgi)?
A mod_pcgi Apache module has been discussed. It would certainly be more efficient. One of the issues would be whether pcgi should get out of the process launch business, which would simplify a mod_pcgi and make it easier to debug.
Well, I want to ask you to take some precautions when you'll write actual code. Preface. There are many different languages (speaking ones, I mean, not programming ones), but while you are using one language, problems are rare. Usually all your computer programs understand some encoding rules, locale settings, etc. But there are some exceptions, most notable are Japanese, Chinese, Korean languages (and some other). Cyrillic (Russian) language is probably worst case. There are so many different encodings no one can understand it. No one can support it all in one programming product, esp. if it is multiplatform program. There is KOI8-R encoding, that's used in Unix world. There is so called "alternative" encoding (it is "alternative" to so called "main", now obsolete), used in DOS and OS/2 world. Windows users live with windows-1251 (CP1251 codepage) encoding. Mac users use x-mac-cyrillic. There is iso8869-5, which is of rare use. It is a problem even on one computer - you need to convert between DOS and Windows encodings, e.g. But encodings in heterogeneous networking environment are big big pain. Your mailer should understand and recode at least koi8 and win1251 encodings (most frequently used). Your browser should be able to convert text back and forth (in forms). Very bad. There is a special version of Apache - Russian Apache. Russian Apache (apache.lexa.ru) consists of two parts. There is a module - mod_charset. And there are some patches for standard Apache, as mod_charset need to work with very deep internals of Apache. The very mod_charset provides conversion between client and server encodings. In most cases mod_charset recognizes client encodings. But webmaster can configure mod_charset in many different ways, and client can use configurations that webmaster provides. There are three configuration used most often. 1. Automatic client encoding recognition. 2. Hostname-based (win-www.server.ru, koi-www.server.ru) 3. Port-based (www.server.ru:8080 = KOI8, www.server.ru:8081 = WIN). You don't want to know too much details about Russian Apache. Russian Apache is actively developed and maintained by Alex Tutubalin (lexa@lexa.ru), and he does really good job. What I want to ask is: please, write your modules in a way that is compatible with Russian Apache. Most modules in the Apache Modules Registry are compatible. Some has problems, but authors are usually helpful to patch their modules. For example, PHP now has special configuration option --with-modcharset. How to make your module compatible? It is easy. Please do not use low-level apache read/write functions (ap_bwrite and other ap_b* functions). Use ap_r* functions: ap_rputc, ap_rprintf, ap_rputs, ap_rvputs, ap_rwrite. For processing POST queries - use get_client_block. All standard Apache modules work this way, as most of 3rd-party modules.
-Jeff Bauer
Oleg. ---- Oleg Broytmann National Research Surgery Centre http://sun.med.ru/~phd/ Programmers don't die, they just GOSUB without RETURN.
participants (2)
-
Jeff Bauer -
Oleg Broytmann