Правильное использование 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 секунд, чтобы сделать любые запросы additioanl до закрытия соединения.

простого использования заголовка недостаточно для установления соединения keep alive, потому что сервер должен согласовать его. Оба конца должны знать о keep-alive, и оба конца должны делать правильный учет. Вы должны сказать apache обрабатывать keep-alive на его конце и просто отправка заголовка не сделает этого. Вам нужно включить keep-alive, используя вторую директиву:

KeepAlive on

и, кроме того, вы можете настроить механизм keep-alive с директивами, такими как:

KeepAliveTimeout 15
MaxKeepAliveRequests 100