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: [apache-rus] 1.3.26pl30.14 и CharsetRecodeHeader s



> 
> Нужно, чтобы было ясно, что где перекодируется.
> 1. Если СharsetRecodeHeaders On - то все headers должны перекодироваться
> и при приходе от клиента и при отправке с сервера. Таким образом для скриптов
> на сервере не будет заметно, что кто-то где-то в другой кодировке работает.

Сомнительно мне это. Ну ладно, заголовки перекодировать не будем.
А Query-string - надо ? А URL до query-string ? А path-info ?

А если их надо, то почему заголовки не надо ?

> 2. Флаг тоже не помешает, но должен влиять сразу на оба направления.
> 
> что касается совместимости, то у меня большое подозрение, что апачей < .20 установлено
> гораздо больше, чем 20-26.

Есть подозрение, что 26-х становится все больше и больше и стремительно :)

> 
> И, вообще говоря, должен быть флаг, отключающий вообще перекодировку headers, так как
> согласно rfc2068 (ссылающегося в этом вопросе на rfc822) в headers не может быть
> никаких символов, подлежащих перекодировке.

Я не понимаю этой логики. Если там нет символов, подлежащих перекодировке,
то перекодируй или не перекодируй - один хрен. Если там есть такие символы,
то они могут взяться из двух мест
 а) клиент почему-то сам решил туда их положить - тогда они будут
   в кодировке клиента
 б) мы сами его туда положили (Cookie). Соответственно, в этом месте
  действительно нужно вернуть старое поведение (.20-), а если кому-то
  нужно неперекодированное, то пусть использует base64.

Что же до ссылки из rfc2616 (2068 уж давно устарело), то в смысле формата
заголовков оно конечно ссылается на 822, но как на "generic format", 
а дальнейшие спецификации весьма недувусмысленны:

field-content  = <the OCTETs making up the field-value
                 and consisting of either *TEXT or combinations
		of token, separators, and quoted-string>

А OCTET специфицирован как _любая_ 8-битная последовательность.

То-есть могут там быть символы, которые нужно перекодировать.
Собственно, и в 822 про перекодировку ничего толком не говорится,
а соблюдая 822 (т.е. имея только ASCII) в заголовках прекрасно
передаются MIME-вские заголовки, которые естественно перекодируются.
> 
> Так что лично меня устроил бы флаг, запрещающий перекодировку headers.
> 
CharsetDisable ?


Алексей Тутубалин
mailto: lexa@xxxxxxx

=============================================================================
=               Apache-Rus@xxxxxxxxxxxxx mailing list                       =
Mail "unsubscribe apache-rus" to majordomo@xxxxxxxxxxxxx if you want to quit.
=       Archive avaliable at http://apache.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.