Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Apache.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
209.41 Кб
Скачать

Конфигурация типа содержимого Языки файлов

Определяя язык файла, Apache посылает в ответе заголовок Content-Language.

Языки свзываются с расширениями файлов следующим образом:

AddLanguage en .en .english

Файлы, которые не имеют расширения, указанного в AddLanguage, саязываются с языком по умолчанию:

AddDefaultLanguage en

Приоритеты языков сервера:

LanguagePriority en de fr

Если есть одинаковый документ (например index.html) на разных языках (index.html.en, index.html.de, index.html.fr), то если клиент не укажет предпочтения (заголовок Accept-Language) сервер вернет документ на языке согласно указанному приоритету. Данный механизм реализуется с помощью директивы

Options Multiviwes

Кодирование файлов – описывается формат, в котором посылается данный ресурс.

AddEncoding MIME-тип расширение_файла – ставит в соответствие одному или нескольким расширениям определенную схему MIME-кодирования.

AddEncoding x-gzip .gz

Типы файлов

AddType MIME-тип расширение_файла – ставит в соответствие одному или нескольким расширениям определенный MIME-тип. В результате, когда серверу встречаются файлы с указанными расширениями, он знает, какой для них необходимо использовать MIME-тип.

AddType text/html .htm .html

ForceType MIME-тип – переопределяет MIME-тип для всех файлов каталога.

<Directory /www/docs>

ForceType text/html

</Directory>

Обработчики

AddHandler обработчик расширение_файла – задает обработчик для одного или нескольких расширений файлов.

AddHandler cgi-script .cgi .pl

SetHandler обработчик – задает обработчик для определенного каталога или URL (для всех файлов внутри каталога).

<Location /bin/>

Options ExecCGI

SetHandler cgi-script

</Location>

RemoveHandler обработчик – отменяет обработчик, назначенный для определенного каталога или URL.

SetHandler cgi-script

<Directory /www/special>

RemoveHandler cgi-script

</Directory>

Наборы символов

AddCharset таблица_кодировки расширение_файла – ставит в соответствие одному или нескольким расширениям файлов определенный набор символов MIME.

AddCharset UTF-8 .utf8

Активизация механизма cgi

CGI - Common Gateway Interface является стандартом интерфейса (связи) внешней прикладной программы с информационным сервером типа HTTP, Web сервер.

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

Программа-шлюз запускается WWW сервером в реальном масштабе времени. WWW сервер обеспечивает передачу запроса пользователя шлюзу, а она в свою очередь, используя средства прикладной системы, возвращает результат обработки запроса на экран пользователя. Программа-шлюз может быть создана на языках C/C++, Fortran, Perl, TCL, Unix Shell, Visual Basic, Apple Script, РНР. Как выполнимый модуль, она записывается в поддиректории с именем cgi-bin WWW сервера.

Функциональные возможности CGI обеспечиваются модулем mod_cgi и активизируются следующим образом:

  • с помощью ScriptAlias – помечает каталог как содержащий исполняемые сценарии;

  • с помощью указания параметра ExecCGI в директиве Options.

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

ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/"

В результате Apache интерпретирует любой входящий URL типа http://www.domain.com как запрос на выполнение сценариев CGI.

Повышение уровня безопасности каталогов для ScriptAlias. Применяется контейнер <Directory>, предотвращающий использование файлов .htaccess, которые могут ослабить защиту сервера.

<Directory /usr/local/apache/cgi-bin/>

AllowOverride None

Options None

Order allow,deny

Allow from all

</Directory>

Установка каталога CGI с помощью ExecCGI.

Alias /cgi-bin/ "/usr/local/apache/cgi-bin/"

<Directory /usr/local/apache/cgi-bin/>

AllowOverride None

Options ExecCGI

SetHandler cgi-script

</Directory>

Описание сценариев CGI по расширению. Директива SetHandler внутри <Directory> вызывает обработчик для любого файла в указанном каталоге. Директива AddHandler позволяет указать одно или несколько расширений файлов, которые будут считаться сценариями CGI.

AddHandler cgi-script .cgi .pl .pm .exe .bat

Для выполнения данной директивы необходимо указать еще и ExecCGI. Единственная директива, разрешающая CGI без указания ExecCGI – ScriptAlias.

Описание сценариев CGI по типу среды. Директива AddType позволяет связывать расширения файлов с MIME-типами:

AddType application/x-http-cgi .cgi

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]