On Mon, 18 May 1998, Alex Tutubalin wrote:
> hit ratio - около 5% (а запросов к этим серверам - примерно 3% Т.е. как-раз на
> однопроцентное снижение кэшируемости). Т.е. снижение эффективности может и
> есть, но я его не вижу.
:) OK, я же не наезжаю... а как всегда, со слухов высказываю
предположение... иногда срабатывает - признаются ;)
слухи были, однако - я бы подождал, м. быть, кто еще выскажется...
> alr> Как на мой взгляд, автомат выбора кодировки по UserAgent -
> alr> вещь хотя и полезная, но _теоретически_ абсолютно вредная,
> alr> и было бы совсем правильно, если бы можно было встроить в apache-rus
> alr> возможность задать redirect на нужный URL, в зависимости от UserAgent,
> alr> в том числе по Dirprefix, Port, Host. и очень хочется, что-бы это было
> alr> сделано элегантно внутри самого apache-rus, а не через скрипты,
> Я давно собираюсь и давно ленюсь :). В качестве паллиатива я уже написал, но
> никак не выложу, скрипт, работающий через CGI и mod_perl. На мой взгляд этого
> достаточно.
Да, это понятно. Но встраивать mod_perl не всегда хочется и нужно,
а просто CGI - приемлемо при мелкой нагрузке, но там тривиально
то же самое, что уже делает mod_charset на тему определения UserAgent. ;)
> Есть довольно неприятные подводные камни со встраиванием этого дела внутрь - я
> не вижу приличного способа избавиться от возможности зацикливания при
> некорректной настройке. Может это и не надо, конечно.
надо. Я наблюдал зацикливание при рекомендованом в дистрибутном конфиге
способе оформления по dirprefix.
Когда koi, win, и т.п. сделаны как симлинки, ссылающиеся на текущую
директорию, то кранты - зацикливание обеспечено от роботов, если на
странице есть селектор кодировки ;)
IMHO, правильно дерево документов при dirprefix делать так:
/ru/ - это основное дерево,
а /ru-win/, /ru-koi/ - это или симлинки или Alias на /ru/
тогда зацикливания проще избежать. ;)
> Со скриптом эти проблемы тоже есть, но скрипт - это внешний объект.
Угу, типа "я не виноват - скрипт виноват" :)
проблема все равно остается...
> alr> Естественно, при этом придется пользоваться директивами
> alr> ???Redirect??? (которых нет пока в нужном виде :) модуля mod_charset, а
> alr> не от "родного" apache.
> Нету, значит, в нужном виде :) ? А что же ты молчишь ? Говори как правильно,
> обсудим. Ежели договоримся - сделаем :). Вообще, правильно было бы "отобрать"
> keyword Redirect у mod_redirect (чтобы все старые конфигурации работали), но я
> не умею это сделать через API, без хака. А патчить его не хочется.
Ну, значит достаточно ввести CharsetRedirect??? в mod_charset,
что-бы или из него использовать, или из mod_redirect?
Это приемлемо с точки зрения поддержки старых конфигов.
Тогда в первом приближении CharsetRedirect???? (их получится несколько,
пока точно не знаю какие - это обсуждать надо)
там, где указывается URI/URL на новый документ, указывать
некоторое _переменное_ место, типа
CharsetRedirect 404 http://%h.host.domain/notfound.html
CharsetRedirect 404 http://host.domain/%d/notfound.html
CharsetRedirect 404 http://host.domain%p/notfound.html
в которое будет подставлено текущее значение charset из URL/URI,
с учетом автомата UserAgent или без (это тонкое место) по списку,
заданному в
конфиге, соответственно абстрактный пример для 2х кодировок:
вместо %h подставится "www-koi" или "www-win",
вместо %d "ru-koi" или "ru-win",
вместо %p - "" или ":8080"
P.S
А, вот еще, опять про транзитные кеши в масштабе всего www:)
идеально было бы, если бы зависимость от UserAgent отрабатывал сам кеш,
спрашивая
сайты в одной и той же кодировке, а возвращая - кому что надо,
но это как было очевидно 2 года назад,
так до сих пор и не получило распространения. :(
При схеме, что кодировка задана в URL явно, кто-то будет пострадавший,
и даже понятно кто - тот, кто не сидит на форточках, но ходит через proxy
cache.
Sergey Vovk, | http://www.macomnet.ru/~vsv/
sysadmin | voice: +7(095)973-4002, 973-4003
"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.