Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Водяхо 04 / lect_doc / АРАС.doc
Скачиваний:
45
Добавлен:
03.06.2014
Размер:
329.22 Кб
Скачать

Браузеры

Одна из самых серьезных реальных проблем в Web состоит в том, что люди имеют свободу выбора браузеров и не все браузеры работают одинаково или хотя бы приблизительно одинаково. Возможности браузеров очень различны. Одни воспроизводят изображения, а другие - нет. Некоторые браузеры не воспроизводят кадры, таблицы, Java-объекты и т.д.

Эту проблему можно попытаться обойти, предложив пользователю вызвать соответствующий фрагмент сценария, но в реальной жизни люди часто не знают, на что способен из браузер, а на что - нет. Пользователи не всегда даже понимают эти вопросы.

Эта проблема решается следующим образом. Apache может определить тип браузера и установить переменные среды таким образом, чтобы CGI-сценарии могли действовать в соответствии с его типом.

BrowserMatch и BrowserMatchNoCase

BrowserMatch браузерРВ среда1[=значение1] среда2[=значение2]

... IbrowserMatch директива

BrowserMatchNoCase браузерРВ среда1[=значение1] среда2[=значение2]

... IbrowserMatchNoCase директива

браузерРВ - это регулярное выражение, которое сравнивается с заголовком User-Agent клиента, а среда!, среда2, ... - переменные среды, которые будут установлены в случае совпадения регулярного выражения. Переменные среды получают значения значение!, значение2, ..., если последние указаны. Например, BrowserMatch ^Mozilla/[23] tables=3 Java

Символ ^ означает «начать с начала заголовка и сравнивать со строкой Mozilla/, за которой следует цифра 2 или 3. В случае совпадения Apache создает и - при необходимости - указывает значения заданного списка переменных среды, которые определяются автором сценария. В данном случае это:

tables=3 Java

В конкретном CGI-сценарии может быть осуществлена проверка наличия этих переменных среды и выполнены соответствующие действия. Директива BrowserMatchNoCase - это просто безрегистровая версия BrowserMatch, т.е. ей все равно, какие указаны буквы - строчные или прописные. Mozilla для этой директивы эквивалентно Mozilla.

Заголовки HTTP-ответов

Web-мастер может, пользуясь Apache задавать и удалять заголовки HTTP-ответов для особых целей.

Header [set\add\unset\append] HTTP-заголовок «значение»

Header remove HTTP-заголовок

Директива Header задает или удаляет HTTP-заголовок и имеет два или три аргумента: превый из них может иметь значение set, add, unset, append или remove; второй аргумент - имя заголовка (без двоеточия); третий - значение заголовка, если оно применимо. Эту директиву можно использовать в секциях <Directory>, <File> и <location>.

Опции CGI-скриптов

Options <опция опция ... (по умолчанию а11)>

Директива Options чрезвычайно универсальна. Цель данной директивы -предоставить Web-мастеру некоторую степень контроля над теми штучками, которые его клиенты могут выкинуть в своих файлах .htaccess. Все остальное находится в файле конфигурации под его контролем. Поэтому, например, если Web-мастер не хочет, чтобы CGI-сценарии выполнялись в его системе, он просто задаст директиву:

Options -ExecCGI

и CGI-сценарии выполняться не будут. Аргументы option могут быть следующими:

Аll

Все опции, кроме Multiviews, hicludesNoExec, SyrnLinksIfOwnerMatch.

ExecCGI

Разрешается вьшолнение CGI-сценариев.

FollowSyrnLinks

Сервер прослеживает символические ссылки (т.е. ссылки на файл, созданный командой ln -s); Директивы включения на стороне сервера допускаются.

IncludesNoExec

Директивы включения на стороне сервера допускаются, но #ехес и #include

для CGI-сценариев запрещаются.

Indexes

Если клиент запрашивает URL, который соответствует каталогу, а файла index.html там нет, эта опция позволяет выполнить индексацию, и клиенту возвращается отформатированный перечень.

Multiviews

Поддерживается вариант Multiviews с согласованием содержимого. Сюда включается опция AddLanguage и согласование изображений.

SyrnLinksIfOwnerMatch

Символические ссылки прослеживаются и ведут к файлам или каталогам, принадлежащим пользователю с тем же идентификатором, что и владельца ссылки.

В Apache реализована возможность динамически модифицировать текущий набор опций. Для этого используются знаки + и -. Например, следующая команда удаляет опцию Indexes и добавляет ExecCGI:

Options -Indexes +ExecCGI

По умолчанию установлена опция АН. Однако, если установить какую-либо другую опцию, действие опции Аllотменяется.

Опции FollowSyrnLinks и SyrnLinksIfOwnerMatch используются для того, чтобы запретить доступ к файлам через символические ссылки (ссылки, сделанные командой ls -s).

Соседние файлы в папке lect_doc