Правильное использование 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
Другие вопросы по тегам