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]

PL18-release & expire



Hi!


 alr> Почему неправильно. С идиотизмами конкретных показывалок
 alr> надо бороться в одном месте.
 alr> Например, добавить в mod_browser что-то типа
 alr>     BrowserMatch xxx AddInputHeader Accept-Charset x-mac-cyrillic
 alr> А после этого в mod_charset забыть про конкретные показывалки
 alr> навсегда.

Так не выйдет.

Т.к. Accept-Charset имеет больший приоритет чем все остальное (надеюсь,
соблюдение стандартов не является криминалом), то теряется возможность показать 
текст в кодировке, отличной от определенной по User-Agent. Что не правильно 
т.к. пользователь с Mozilla(X11 может хотеть как koi8-r (который ему покажут по 
умолчанию), так и iso-8859-5 (ну хочет он), который он обычно выбирает через 
hostname/dirprefix (i.e. по кнопочкам выбора перекодировки).

Можно, конечно, придумать свой InputHeader (X-Russian-Apache-Accept-Charset)
и обрабатывать его в том месте, где обычно обрабатывается User-Agent,
но я не вижу никаких реальных преимуществ перед директивой CharsetAgent. А вижу 
только недостатки - в CharsetAgent можно описать любое число подстрок,
а в BrowserMatch - только одну.

Конечно, с точки зрения "правильности" BrowserMatch чуть правильнее. Но не 
позволит иметь _одну_ версию mod_charset для Apache 1.1 и 1.2. И никто не 
запрещает этим пользоваться, хотя я не вижу смысла.

Аналогично и с CharsetBadAgent. Возможно, "правильность" тут присутствует.
Но я не вижу разницы каким именно способом хачить http_protocol.c. Можно 
проверять флаг NEED_CHARSET, можно искать в заголовках 
"X-Russian-Apache-Need-Charset", принципиальной разницы нет.

Оба "правильных" варианта несколько сократят код самого модуля, но этот код
а) невелик б) уже написан и отлажен. Есть ли смысл ?

С уважением,Alex Tutubalin

--- GoldED 2.42.G1114+








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

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