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] =?koi8-r?B?8MXSxcvPxMnSz9fLySDJINfO1dTSxc7O0SDT1NLVy9TV0sEgQXBhY2hlX21v?= =?koi8-r?B?ZF9jaGFyc2V0?=



День добрый!

     Возникла небольшая заковырка.
     Постраюсь изложить последовательно.

     Имею:
     FreeBSD 3.3.
     Apache Rus 1.3.12
     Apache Jserv для Ajp и конекта к Tomcat 3.1. на порт 8007
     Tomcat 3.1. - для Java Sevlets и JSP

     Получил непонятки следущего характера:
     1. В сервлете лежат строки
      out.println("юФП ИПЮЕЫШ(koi8).<br><br>");
      out.println("-вR еRз_им(dos).<br><br>");
      out.println("Что хочешь(1251).<br><br>");
     2. Перед отсылкой модулю апача mod_jserv по протоколу Ajp делаю
     установку Content-type: text/html; charset=windows-1251
     3. Апач настроен с CharsetSourceEnc windows-1251 (Def тоже самое)
     4. Идет запрос от Линкса
     lynx -mime_headers http://.../.../serlet

     Видимый мне процесс:
     1. К апаче приходит данный запрос.
     2. Апач с помощью директив понимает, что его надо зашлюзить на
     localhost:8007 через протокол Ajp12. Шлюзит.
     3. tomcat получает запрос, разбирает REQUEST_URI, определяет
        сервлет, который нужно по этому запросу поднять.
     4. servlet формирует http response, с выше указанными заголовками.
     5. tomcat его буфферезирует и отсылает толи разом, толи пачками
        по 8Кб к Апачу на mod_jserv.so
     ВОПРОС: Включается ли при этом механизм mod_jserv ?
     Мне пока не вериться, что Западный апликэйшен сервер будет
     заниматься перекодировками, считая, что все его сервлеты лежат в
     koi8-r (по крайне мере еще не нашел в его сырцах подобной штуки).
     6. Апач получает его, считая, что это windows-1251
     7. Основываясь на данных, полученных от браузера - выполняет
     соответствующие перекодировки.
     8. Итого:
     Lynx получает:
     --------------------------------------------------------
HTTP/1.1 200
Date: Thu, 13 Apr 2000 16:08:20 GMT
Server: Apache/1.3.12 (Unix) tomcat/1.0 PHP/3.0.15 rus/PL29.4
Content-Language: ru
Servlet-Engine: Tomcat Web Server/3.1 Beta (JSP 1.1; Servlet 2.2; Java 1.1.8; FreeBSD 3.3
STABLE x86; java.vendor=Sun Microsystems Inc., port by java-port@FreeBSD.org)
Set-Cookie2: JSESSIONID=To1043mC7348963929945455At;Version=1;Discard;Path="/ajsp"
Set-Cookie: JSESSIONID=To1043mC7348963929945455At;Path=/ajsp
Connection: close
Content-Type: text/html; charset=koi8-r
Expires: Thu, 01 Jan 1970 00:00:01 GMT
Last-Modified: Thu, 13 Apr 2000 16:08:20 GMT

<h1>Servlet</h1>
(It's a GET-calling.)<br><br>
Что хочешь(koi8).<br><br>
?Б? Е?Г?ХЛ(dos).<br><br>
вРН УНВЕЬЭ(1251).<br><br>

IE получает тоже самое, только в windows-1251 и при этом видна коевая
строчка.
Отличительная особенность: была выполнена кодировка при пересылке
через Ajp протокол, так как 1251 и dos приехали сильно закореженные и
браузер их не смог по кодировочке раскодировать. (сорри за сленг )
------------------------------------------------------------------------

Вариант 2
-----------------------------------------------------------------------
1. В сервлете лежат строки
out.println("юФП ИПЮЕЫШ(koi8).<br><br>");
out.println("-вR еRз_им(dos).<br><br>");
out.println("Что хочешь(1251).<br><br>");
2. Перед отсылкой модулю апача mod_jserv по протоколу Ajp делаю
установку Content-type: text/html; charset=koi8-r

все остальное тоже самое.

Lynx получает:
-------------------------------------------------------
********************
Content-Language: ru
Content-Type: text/html; charset=koi8-r
,......

<h1>Servlet</h1>
(It's a GET-calling.)<br><br>
юФП ИПЮЕЫШ(koi8).<br><br>
╛в╕ е╕з=им(dos).<br><br>
Что хочешь(1251).<br><br>

ИЕ получает тоже самое, при этом никаких перекодировок на стороне
сервера не произошло, так как доса и кои спокойно различались при
переключении кодировок.


Итого несколько вопросов:
1. mod_charset повешен на все входящие и приходящие запросы по любому
внешнему(внутреннему) протоколу?
2. На основе чего тогда в данном случае апач считает, что по дефолту
стоит koi8-r?


С уважением, Alexey V. Meledin <avm@webclub.ru>
> InterForge Developers Group,  St-Petersburg, Russia
New: http://www.crossroad.ru; http://www.garoway.com
> > > > > > "InterForge to Forge Ahead" > > > > > > >


=============================================================================
=               Apache-Rus@lists.lexa.ru mailing list                       =
Mail "unsubscribe apache-rus" to majordomo@lists.lexa.ru if you want to quit.
=       Archive avaliable at http://www.lexa.ru/mail-archive                =







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

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