>
> Нужно, чтобы было ясно, что где перекодируется.
> 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" 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.