- •Запуск и остановка Apache
- •Директивы конфигурации web-сервера Apache. Контексты использования директив конфигурации
- •Контейнерные директивы Apache
- •Условная конфигурация
- •Использование динамических модулей
- •Ограничительные директивы Apache
- •Директива Options
- •Основные директивы конфигурации Apache
- •Управление процессами
- •Управление потоками
- •Директивы для управления процессами и потоками
- •Директивы производительности Apache
- •Постоянные соединения
- •Псевдонимы
- •Конфигурация типа содержимого Языки файлов
- •Типы файлов
- •Обработчики
- •Наборы символов
- •Активизация механизма cgi
- •Активизация механизма ssi
- •Переадресация
- •Аутентификация
- •Алгоритм аутентификации:
- •Управление доступом
- •Виртуальный хостинг
- •Обработка ошибок
- •Протокол ssl
Постоянные соединения
До постоянных соединений для каждого НТТР-запроса устанавливалось отдельное TCP соединение, что увеличивало нагрузку на web-сервера и вызывало загрузку Интернета. Использование встроенных изображений и других связанных данных часто требует от клиента делать несколько запросов к одному серверу за короткий промежуток времени.
Преодолеть эти недостатки поможет использование устойчивых соединений, когда одно ТСР-соединение может использоваться для передачи нескольких объектов. Для устойчивых соединений необходимо заранее знать размер передаваемых данных. Так как многие CGI-сценарии, SSI-команды и другие типы динамически генерируемого содержимого не имеют определенного размера до передачи, они не могут пользоваться преимуществами устойчивых соединений.
Постоянные HTTP соединения имеют ряд преимуществ:
Открытие и закрытие меньшего количества TCP соединений экономит время центрального процессора и память, используемую для управляющих блоков протокола TCP.
HTTP запросы и ответы может быть конвейеризованы в соединении. Конвейерная обработка позволяет клиенту делать множество запросов, не ожидая ответа на каждый, следовательно, одиночное TCP соединение, использование которого намного более эффективно, теряет меньше времени.
Загрузка сети уменьшается с уменьшением числа пакетов, вызванных открытием TCP соединений, и, следовательно, дает протоколу TCP достаточное время для определения состояния загрузки сети.
Директива KeepAlive On|Off позволяет активировать и деактивировать использование устойчивых соединений ТСР в Apache.
Директива Timeout 300 устанавливает время (в секундах), в течение которого Apache должен ждать определенный пакет данных. Это максимальное время ожидания Apache перед тем, как разорвать соединение.
Директива KeepAliveTimeout 15 – если директива KeepAlive включена, то данную директиву можно использовать для ограничения времени, в течение которого Apache будет ждать следующего запроса до разрыва соединения. После получения запроса применяется значение, установленное директивой Timeout.
Директива MaxKeepAliveRequests 200 ограничивает количество запросов в одном соединении при включенной директиве KeepAlive.
Псевдонимы
Псевдонимы позволяют преобразовывать URL для указания другой области действия без уведомления об этом клиента.
Alias URL "путь" - определяет отображение пути на произвольное место файловой системы сервера.
Alias /icons/ "/var/www/icons"
AliasMatch регулярное_выражение "путь" - директива подобна Alias, но использует регулярные выражения.
AliasMatch ^data(.*) "/web/data$1" # отображает URL
# www.site.com/data/index.html на
# /web/data/index.html
ScriptAlias псевдоним "путь" - создает псевдоним пути к физическому каталогу. Кроме того, любое имя файла, присутствующее в запросе, рассматривается как CGI-сценарий, который сервер попытается выполнить.
ScriptAlias /cgi-bin/ "/home/*/public_html/cgi-bin"
ScriptAliasMatch регулярное_выражение "путь" - директива подобна ScriptAlias, но использует регулярные выражения.
