Правильное использование KeepAlive в Apache Htaccess
В чем разница между:
Header set Connection keep-alive
а также
KeepAlive on
в Apache htaccess?
Какой код и опции мы должны поместить в заголовок php-файла? А что в файле htaccess?
1 ответ
Если вы просто установите заголовок Connection: keep-alive
этого будет недостаточно. Клиент будет думать, что это соединение с поддержкой активности, но сервер может решить закрыть соединение. Кроме того, клиент не знает, сколько запросов может быть обслужено через соединение keep-alive. Существует дополнительный заголовок, который используется для отслеживания запросов, отправляемых через соединение keep-alive, который выглядит следующим образом:
Keep-Alive: timeout=15, max=100
который сообщает клиенту, что он может отправить до 100 дополнительных запросов по текущему соединению keep-alive (и ведет обратный отсчет по мере того, как вы продолжаете использовать указанное соединение keep-alive), и что у клиента есть 15 секунд для выполнения любых дополнительных запросов до соединение закрыто.
Простого использования заголовка недостаточно для установления соединения с поддержкой активности, поскольку серверу необходимо согласовать его. Оба конца должны знать о поддержании жизни, и оба конца должны вести надлежащий учет. Вы должны указать apache, что он должен поддерживать keep-alive, и просто отправка заголовка этого не сделает. Вам нужно включить keep-alive с помощью второй директивы:
KeepAlive on
Кроме того, вы можете настроить механизм поддержки активности с помощью таких директив:
KeepAliveTimeout 15
MaxKeepAliveRequests 100