Реферат: Работа с Web-сервером Russian Apache

Вторую группу составляют директивы CharsetDecl, CharsetAlias CharsetRecodeTable и CharsetWideRecode Table, которые определяют названия кодировок, их синонимы и таблицы перекодирования. Все они размещаются в секции <IfModule mod_charset.c> - </IfModule> и в большинстве случаев не нуждаются в изменении.

В третью, самую многочисленную группу входят директивы, задающие порядок перекодирования символов от сервера клиенту и обратно.

Принято, чтобы при попадании на русскоязычный сервер пользователь получал страницу в "своей" кодировке, определяемой автоматически на основе той информации об операционной системе, которую передает серверу браузер: например, установив, что пользователь работает в Windows, сервер выдает ему страницу в кодировке Windows-1251, а установив, что он работает в Unix, выдает страницу в koi8. Если выбранная таким образом страница не подходит, клиент может сменить кодировку вручную. Основных схем выбора три: по префиксу каталога, по имени виртуального сервера и по номеру порта. У каждой из них есть свои преимущества и свои недостатки.

1) http://www.rmt.ru/koi/document.html

http://www.rmt.ru/win/document.html - выбор кодировки по префиксу каталога,

2) http://koi.www.rmt.ru/document.html

http://win.www.rmt.ru/document.html - выбор кодировки по имени сервера,

3) http://www.rmt.ru:8000/document.html

http://www.rmt.ru:8001/document.html - выбор кодировки по порту.

Для организации выбора кодировки по префиксу каталога нужно либо внести в секцию VirtualHost строкувида

Alias /koi /www/rmt

либо создать в соответствующем каталоге символическую ссылку на себя:

# cd /www/rmt

# ln -s . koi

Усилия, затрачиваемые на первоначальное конфигурирование, невелики, но для крупных серверов с разветвленной структурой такая схема не очень подходит: вряд ли удастся проконтролировать корректность ссылок на разные страницы узла с внешних серверов, да и за внутренними ссылками проследить не так-то просто (в большинстве случаев они должны быть относительными).

При выборе кодировки по имени сервера необходимо, чтобы информация о соответствующих именах была задана в настройках DNS-сервера, обслуживающего данный домен, а в файл httpd.conf в секцию VirtualHost вносятся строки:

<VirtualHost 193.124.134.3>

ServerName www.rmt.ru

ServerAlias *.www.rmt.ru

...

</VirtualHost>

Если в качестве имени поддомена выступает один из синонимов названия кодировки (CharsetAlias), то эта кодировка считается кодировкой клиента. При таком подходе ссылки внутри сервера могут быть любыми, и единственный недостаток данной схемы в том, что перекодирование не выполняется для браузеров, не указывающих в запросе имя сервера, - впрочем, их, как уже говорилось, осталось крайне мало. Если же совместимость со старыми браузерами категорически необходима, можно назначить каждому поддомену свой IP-адрес.

Чтобы применить выбор по номеру порта, необходимо в файле httpd.conf удалить директиву Port и снять комментарии со строк

Listen 80

Listen 8100

Listen 8101

Listen 8102

Listen 8103

CharsetByPort koi8-r 8100

К-во Просмотров: 323
Бесплатно скачать Реферат: Работа с Web-сервером Russian Apache