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] Russian Apache 1.2.6 Pl24.0 avaliable at usual place



On Tue, 19 May 1998, Alex Tutubalin wrote:

> Просто динамические документы уже слишком распространены. Hit ratio для типа
> text/html в пять(!) раз ниже чем для image/*

Да не, суть вопроса ясна давно :) Конечно, чем больше будет динамического
контента, тем менее эффективно будет использование транзитных кешей...
Ой, это не из [apache-rus]... :)

>  alr> Да, это понятно. Но встраивать mod_perl не всегда хочется и нужно,
>  alr> а просто CGI - приемлемо при мелкой нагрузке, но там тривиально
>  alr> то же самое, что уже делает mod_charset на тему определения UserAgent. ;)
> Так CGI использует $CHARSET, полученную от mod_charset. Соответственно, все
> обходится ~10 строчками.

13 строк, находится в ответе A9 FAQ. Угадал? :)
Однако, мне все еще кажется, что это можно встроить а apache-rus,
найдя общий механизм для портов, хостов, суффиксов. А в любом месте доков
ставить .cgi - сама по себе идея *еще та*. ;)

>  alr> директорию, то кранты - зацикливание обеспечено от роботов, если на
>  alr> странице есть селектор кодировки ;)
> Вот почему я использую Tide... ой, селектор кодировок был сделан у меня через
> SSI - скрипт на перле, который выкусывал лишние leading dirs. С переходом на
> порты как рукой сняло :)

Да суть-то одна и та же - разделить, а не смешивать URL в разной
кодировке. Хоть по портам, хоть по dirprefix - принципиальной
разницы никакой нету - у того или другого способа есть свой набор за/против.

>  alr> CharsetRedirect  404 http://%h.host.domain/notfound.html
>  alr> CharsetRedirect  404 http://host.domain/%d/notfound.html
>  alr> CharsetRedirect  404 http://host.domain%p/notfound.html
> Не выйдет нифига. Сервер не имеет знания ни о чем из этого - ни о наличии 
> директории %d, ни о наличии хоста с нужным именем, ни о том, что мы слушаем на
> определенном порту (CharsetByPort может быть, а Listen - нет). Естественно, это 
> доступно из потрохов сервера, но не через API. А не через API я ужасно не люблю 
> по известным тебе причинам (и попробуй сказать что я не прав - я тут же тебе 
> твои IRIX'овые packages вспомню :).

Прав, конечно, не нужно инфо для %p %h %d выдергивать
по косвенным данным или из API, где их нет, и быть не должно.
Например, это может стоять не дальше конфигов httpd, по заказу админа...

> Но у меня возникло ощущение, что мы (ты :) путаем три понятия сразу.
;) Я, конечно. Только давай делать разницу между "путать" и
"заблуждаться". :) Я стараюсь именно путать. ;) Иногда, исключительно
для того, что-бы разобраться в конце концов. :)

> 1) ErrorDocument (давай про него временно забудем)
> 2) автоматический редирект на другой сервер/директорию/порт
> 3) замену имеющейся в mod_alias директивы Redirect*.
> 
> Начнем с конца. Вместо Redirect*  уже давно имеются CharsetSoftRedirect,
> принимающие URL без имени сервера и номера порта. Это не работает с твоими 
> любимыми dirprefix :), но dirprefix лечится только site-specific настройками.

Да при определенной дисциплине, как ты называешь site-specific
(я утверждаю, что без некоторой дисциплины организации дерева документов не
обойтись в любом случае)
настроек сайта все то же самое можно было бы иметь и для dirprefix.
Ну, вместо порта будет появляться dirprefix, заказанный в конфиге,
тогда и CharsetSoftRedirect сможет работать. Повторяю, принципиальной
разницы нету, где именно указывать в URL/URI на charset. Просто
разбиение сервера на набор виртуальных серверов по портам или хостам
как-бы естественным образом заставляет эту самую
дисциплину разделения выдержать,
а для dirprefix она пока не поддерживается CharsetSoftRedirect

> С автоматическим редиректом на URL-encoded charset все несколько хуже. Т.к. 
> сейчас никакого механизма, который говорил бы серверу куда именно должен быть
> Redirect не существует (имена директорий неизвестны, номера портов в Listen - 
> тоже, имена хостов - и подавно), то можно делать либо так, как ты предлагаешь
> (с %p,%d,%h), но с отдельными описаниями этих %p, %d и %h другими директивами, 
> либо зашить их непосредственно в директиву CharsetRedirect. Оба пути примерно
> одинаковы по гемморойности настройки и имплементации.

Про геморройность имплементации не буду спорить, а по настройке -
по совокупности приседаний разбиение по портам тоже не так уж просто,
особенно, если учесть возню _не только_ вокруг httpd.conf, но и типа
firewall, о чем ранее тоже говорили...

>  alr> P.S
>  alr> А, вот еще, опять про транзитные кеши в масштабе всего www:)
>  alr> идеально было бы, если бы зависимость от UserAgent отрабатывал сам кеш,
>  alr> спрашивая
>  alr> сайты в одной и той же кодировке, а возвращая - кому что надо,
> Делов то. Берешь и пишешь HTTP/1.1 совместимый кэш. Vary русским апачем 

:)
Ну, это ждать еще долго:) Сквидописатели увлекаются, насколько
я понимаю, уже 3й год подряд вовсе боковыми проблемами эффективности, а не
поддержкой HTTP/1.1. Я лично - пас. В смысле заниматься писаниной без
грантов от NLANR. :)

> Вообще, я уже думаю поддаться слабости и реализовать такую схему - если
> charset, определенный по useragent, совпал с тем же charset, который был бы
> без useragent, то Expires не выдавать. И сделать charsetdefault=1251. Тогда 

1. про не выдавать Expires - странно, но ожидалось, что это так и сделано,
при совпадении по useragent и default,
пока не стали рыть ту самую проблему с кнопкой back ;)
2. почему 1251? ;) какая по-барабану, разница - ведь koi8 понимают
все современные коммерческие смотрелки (с одной стороны),
а с другой - есть CharsetDefault - вот при совпадении с ним и....
О, ну хоть попробовать, к чему приведет, наверное, можно?
Я не нахожу уж очень тошнотворной эту идею, тем более, сложной в
имплементации. :)

> ходящие через кэши юниксоиды будут нажимать Reload всякий раз, но полученный
> документ не будет кэшироваться. Т.к. юниксоидов - процентов 5, то остроту 
> проблемы кэширования это снимет. Но криво это до безумия, аж тошнит.

От таких последствий будет тошнить, согласен... ;)
однако не отразить ли в дистрибутном конфиге тот факт,
что и MS Mozilla 4, и MS IE 4 прекрасно понимают koi8 _без_ спец.
фонтов,
и вовсе необязательно им совать 1251? ;) Вот тогда точно никаких Reload
давить не придется ни тем, ни другим, зато все это весьма планомерно
приблизит к *таки победе* парадигмы единой сетевой кодировки... :))
Хотя единый поезд, похоже, давно ушел. :)

P.S мои шуточки, понятно, пока не приведут ни к каким новым версиям,
поскольку тебе и так не до этого...

Sergey Vovk,	| http://www.macomnet.ru/~vsv/
sysadmin	| voice: +7(095)973-4002, 973-4003






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

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