Russian Apache Switch to English
Switch to Russian koi8-r
windows=1251
cp-866
iso8859-5
Russian Apache Как это работает Рекоммендации Где взять Как установить Как настроить Статус и поддержка
Краткий обзор FAQ Список рассылки Благодарности Поиск по серверу Powered by Russian Apache
Russian Apache mailing list archive (apache-rus@lists.lexa.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[apache-rus] Re: [Zope] Zope.cgi -> mod_zope (fwd)



Привет.

   Я-таки послал авторам Zope письмо, как "правильно" писать их модуль,
чтобы сделать его совместимым с Русским Апачем.

Oleg.
---- 
    Oleg Broytmann  National Research Surgery Centre  http://sun.med.ru/~phd/
           Programmers don't die, they just GOSUB without RETURN.

---------- Forwarded message ----------
Date: Sat, 10 Apr 1999 20:40:52 +0400 (MSD)
From: Oleg Broytmann <phd@sun.med.ru>
To: jeffbauer@bigfoot.com
Cc: Zope Mailing List <zope@zope.org>
Subject: Re: [Zope] Zope.cgi -> mod_zope

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.


_______________________________________________
Zope maillist  -  Zope@zope.org
http://www.zope.org/mailman/listinfo/zope

(For developer-specific issues, use the companion list,
zope-dev@zope.org - http://www.zope.org/mailman/listinfo/zope-dev )






Спонсоры сайта:

[ Russian Apache ] [ Как это работает ] [ Рекомендации ] [ Где взять ] [ Как установить ] [ Как настроить ] [ Статус и поддержка ] [ Краткий обзор ] [ FAQ ] [ Список рассылки ] [ Благодарности ] [ Поиск по серверу ] [ Powered by Russian Apache ] [ Apache-talk archive ]

"Russian Apache" includes software developed by the Apache Group for use in the Apache HTTP server project (http://www.apache.org/) See Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C) 1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.