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-talk] meta charset problems



On Sun, 12 Sep 1999, Valera V.Kosmodamiansky wrote:

>     Прочел всю эту перепалку про http-equiv, и не понял, почему
> народ так горячится из-за (в сущности) ерунды. Предлагается вполне
> конкретная вещь: извлекать кодировку хранения документа из <META> тага и
> сообщать ее RA. Фича эта весьма полезна (другое дело, что многим она
> _не нужна_ :), именно когда на сервере существует общественная свалка,
> куда каждый кладет документы в одной ему известной кодировке. Если таких
> документов мало, то web admin еще может как-то следить за целосностью
> сервера, если же свалка большая, а людей, работающих с ней - много, то
> было бы неплохо, если бы с этим справлялась программа - автоматически,
> не требуя вмешательства людей.
> 


>    1. Специальной программой править файл .htaccess или же (если есть
>       необходимость в запрете пользования .htaccess) - *.conf для
>       данного virtual сервера.
> 
>       + Большой плюс этого решения (в особенности для Алекса) в том,
>         что не нужно править RA. К сожалению, других плюсов я не вижу,
>         хотя они могут и быть.

Еще один большой плюс - программа запускается не при каждом образещии
к Апачу, а при каждом изменении файла. Все-таки файлы меняются реже,
чем читаются, а количество тактов CPU ограничено.

В принципе пускать find $DOCUMENT_ROOT -name "*.html" -newer lastrun|
xargs analyze_meta 
touch lastrun

не слишком дорого, хотя и не то чтобы дешево. Но при наличии запаса памяти
когда директории будут удерживаться в кэше - можно раз в пять минут.

Еще лучше использовать для upload-а файлов на сервер такой протокол,
который позволяет запустить скриптик на свежезагруженный файл. Например,
CVS или HTTP PUT. В результате получится нулевой оверхед - программа будет
пускаться только тогда, когда файл изменился.

Кстати, есть третье решение - не прописывать CharsetSourceEnc в .htaccess,
а этой самой программой перекодировать файл в стандартую кодировку
хранения (правда, если эта кодировка не utf8, возможна потеря информации. 
Набор если не букв, то знаков препинания в русских кодировках не совсем
совпадает) А мету совсем резать ей же. При этом становится
не нужен handler strip-meta-http, от чего Apache вздыхает с облегчением,
уменьшается объем отдаваемых файлов и вообще становится хорошо.

А если клиент скачивает файл для изменения посредством HTTP, ему его
обратно перекодируют, а его FrontPage мету обратно пропишет.
  
  
>         _сейчас же_, а не через час и даже не через 10 мин. Не заставлять
>         же вносившего изменения самому запускать эту программу (с доступом
>         через Web)?

Определить понятие "вносящего изменения". Если им считать cvs сервер,
ftp демон, или скрипт-хэндлер метода PUT, так нехай запускает.
А юзер, по хорошему счету сам ничего не вносит (если только он не в vi из
локальной сессии файл редактирует), а только общается по некоторому
протоколу с программой, реально вносящей изменения.
 
>    2. На мой взгляд, менее тернистый и более правильный путь. Использовать
>       (как правильно указал Frodo) готовый handler, который сейчас просто
>       выкусывает <META> из HTML файлов. Просто необходимо его подправить
>       так, чтоб он на некоторых файлах или директориях (здесь, видимо, 
>       придется добавить еще одну директиву в конфиги Апача) он делал
>       другое: 

А надо ли добавлять? Пусть всегда делает. Если файл перекодировали руками,
не выкусив или не поправив при этом мету, это проблемы того, кто
перекодировал.
Для пущей красоты можно в комплект RA положить скриптик для перекодировки,
который будет мету обрабатывать. 
 
--------------------------------------------------
Victor Wagner			vitus@xxxxxx
Programmer			Office:7-(095)-203-51-19
Institute for Commerce 		Home: 7-(095)-135-46-61
Engineering                     http://www.ice.ru/~vitus

=============================================================================
=               Apache-Talk@xxxxxxxxxxxxx mailing list                      =
Mail "unsubscribe apache-talk" to majordomo@xxxxxxxxxxxxx if you want to quit.
=       Archive avaliable at http://www.lexa.ru/apache-talk                 =






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

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