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]

Re: [apache-rus] Vary (кажись, в самое время :)



   Hi Alex!

Sunday, May 23, 1999, you wrote:


AT> я одно письмо из этого thread прощелкал и увидел только сейчас.
AT> Оно достаточно конструктивное, чтобы потрепаться еще.
Как скажете :)

AT>  alr> Естественно. Но так делать не стоит - далеко не всегда можно обработать
AT>  alr> по "сильным признакам" и именно поэтому нужно (когда нет/не
AT>  alr> срабатывают сильные) проверять и слабые признаки. В том числе и
AT>  alr> accept-charset. А предложенный метод отключает его "насовсем".
AT> У нас разное понятие о сильных и слабых признаках :). В моем понимании,
AT> самый сильный признак - Accept-Charset (т.к. описан в стандарте), сильные -
AT> URL-encoded, слабый - User-Agent
Вот! Вот тут и зарыта собака наших с Вами "разногласий". Я абсолютно
согласен с тем что User-Agent это самый слабый признак, а вот в части
сильных мы, действительно, _принципиально_ расходимся. Вы ставите на первое
место RFC (невзирая на то, что его практически никто не поддерживает в этой
части "как надо"), я - именно в силу вышеуказанной причины - "волю оператора
сервера". Ну, честное слово, не стоит аппелировать к чему-то вида "согласно
инструкции ВЦСПС от ...1929г" :)

AT>  alr> С этим я и не спорил. Я же говорил о том, что Vary в выдаче русского
AT>  alr> пачаа формируется _независимо_ от наличия accept-charset в запросе
AT>  alr> браузер и _независимо_ от того, по какому признаку (например порту,
AT>  alr> директориии и т.д,) выбрана кодировка.
AT> Чистая правда. Потому как Accept-Charset считается самым сильным и
AT> при его наличии будет учитываться только он.
А при его _отсутствии_? В том-то и состоит проблема (сколько Вы от неё
не отмахивайтесь), что минимум 80% запросов приходят _без_ него. И
_принудительно_ ставить его на первое место есть абсолютно _законно_, но
крайне _неразумно_.

AT>  alr> каких-то "высокотеоретических соображений", а просто потому, что без
AT>  alr> обсуждаемой правки (в том или ином виде) работать с документами с
AT>  alr> фрэймами и использованием старшие msie просто невозможно.
AT> К сожалению, старшие MSIE - HTTP/1.1-агенты и обязаны соблюдать RFC.
AT> Поэтому хотелось бы удовлетворить их не отказываясь от Vary.
Согласен. Но мне добиться такого его поведения "надёжно" так и не удалось.
Увы. И - не побоюсь повторить ещё раз - поведение старших msie
_укладывается_ в RFC. Толкуют они его, правда, по другому - ну так это к
авторма RFC претензии, а не к мс ;-)

AT> На крайний случай есть решение вида
AT> <VirtualHost www:8100>
AT> CharsetDisableAcceptCharset On
AT> </VirtualHost>
AT> Да, это несколько усложняет конфигурацию, но если у вас много virtualhost,
AT> то вы все-равно не вручную их конфигурируете, а если мало, то можно и руками.
Логично. И если Вы согласитесь сделать такое поведение дефолтным, то я буду
считать что цель достигнута :). Я ведь, говорил уже, дело не в том, как мне
настроить свои сервера - для этого существует много разных способов. Дело в
том, что _большинство_ пользователей русского апача оставляют конфигурацию в
состоянии близком к conf.default. И основной смысл моих попыток, как-то
защитить свою позицию перед Вами восе не в том, что бы не ставить патч на
следущие версии апача (всё одно прийдётся из-за security :), а в том, что бы
изменилось поведение их серверов.

AT>  alr> Согласен со второй частью но КАТЕГОРИЧЕСКИ не согласен с первой.
AT>  alr> Наивысший приоритет задаётся "оператором" сервера.
AT> Приоритет описан в RFC. Но у оператора таки есть возможность его поменять.
Это как? Не _отменить_, а именно "поменять приоритет"?
AT> Переносить Accept-Charset в хвост списка CharsetSelectionOrder просто 
AT> неправильно.
Я же которое письмо предлагаю перейти от позиции "правильно/неправильно"
(что у нас - конституционный суд, что ли? :) к вопросам _необходимости_.
Допустим, я принял Вашу интерпретацию RFC. И мы совместными усилиями
добились того самого "постановления ВЦСПС" :). И что от этого изменится? А
ничего - то тех пор пока большинство браузеров (и кэшей) не начнут соблюдать
RFC в такой интерпретации. А работают сервера на русском апаче сегодня, а не
в том "светлом будущем", когда это произойдёт. Потому-то я и пытаюсь сдвинуть
Вас с позиции "строгого соблюдения буквы закона".

AT>  alr> Так. Что-то я перестал понимать. Положим мы проставили в настройках
AT>  alr> CharsetByPort windows-1251 8080
AT>  alr> CharsetSelectionOrder Portnumber...
AT>  alr> Не поделитесь - откуда возьмётся "вариантность" при запросе url:8080?
AT>  alr> Только не забудьте то что _Вы_ же написали несколькими строками выше
AT>  alr> "2) Можно считать, что клиентов с "правильным" Accept-Charset практически
AT>  alr> нет"
AT> Это я описал "распространенную точку зрения". Т.е. соображения, которыми можно 
AT> руководствоваться при настройке. Станислав, например, с этим не согласен :)
Его право. Но мы-то согласны с этим тезисом? :) Так откуда?

AT>  alr> от индекса. А иногда - проводит. Понять до конца его логику я так и не
AT>  alr> смог :(, но вот при убирании Vary он всегда отрабатывает правильно :) Что
AT>  alr> же до Content-charset - я просто переносил свои старые патчи. Сейчас
AT>  alr> специально посмотрел по текстам msie - похоже они теперь этого не
AT> Что-то я еще меньше понимаю. У вас есть тексты MS IE ?
У меня есть бинарники и приличный опыт работ по отладке чужих программ :)
Впрочем, что бы поискать наличие заголовков достаточно фара :) оно там лежит
во вполне непакованном виде.
AT> Тогда посмотрите, что он делает получив Vary, если это можно.
Могу попробовать посмотреть в его SDK,- может там что-то есть на эту тему.
... Нету. ВО всяком случае - на виду :(

AT>  alr> 3. Предлагаемое мной "отклонение от RFC" вполне укладывается в рамки
AT>  alr>    "расширений" и не приводит к нарушению работы кэшей
AT>  alr> то мне не пришлось бы патчить и все последущие версии :)
AT> А чем вам не подходит DisableAcceptCharset для всех URL, кроме "с
AT> авто-выбором" ? Мы натурально выключаем эту вариантность и все.
Почти убедили. Вот если Вы такое повелдение включите в "рекомендованные
примеры настройки" - убедите окончательно :)


Best regards,
 Iouri                            mailto:bc-info@styx.cabel.net







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

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