$sent_http_keep_alive

Переменная $sent_http_keep_alive в NGINX содержит значение заголовка 'Keep-Alive', отправленного клиенту в ответе. — NGINX Core (HTTP)

$sent_http_keep_alive NGINX Core (HTTP)

Описание

Переменная $sent_http_keep_alive устанавливается ядром NGINX при подготовке ответа для клиента. Она отражает заголовок 'Keep-Alive', отправляемый в HTTP-ответе, который информирует клиента о том, хочет ли сервер оставить соединение открытым для нескольких HTTP-запросов или закрыть его после текущей транзакции. Эта переменная может принимать значения, такие как 'timeout=5', что указывает, как долго соединение должно поддерживаться перед тайм-аутом, или 'timeout=0', что означает, что соединение должно быть закрыто сразу после отправки ответа. При настройке параметров keep-alive NGINX эффективно управляет постоянными соединениями и использует эту переменную, чтобы сообщать клиенту о предпочтениях сервера. Если keep-alive отключен или неприменим, эта переменная может оставаться пустой. Состояние $sent_http_keep_alive также может быть изменено различными директивами, например 'keepalive_timeout', которая определяет, как долго сервер позволит соединению оставаться неактивным перед его закрытием, что делает эту переменную критически важной для производительности в условиях высокой нагрузки, когда поддержание открытых соединений может снизить задержки для последующих запросов от того же клиента.

Пример конфига

http {
    keepalive_timeout 65;
    server {
        listen 80;
        location / {
            add_header Keep-Alive "$sent_http_keep_alive";
        }
    }
}

Подсистема

http

Кэшируется

Да

Контексты

http, server, location

Переменная будет пустой, если keep-alive не задан или отключён; убедитесь, что вы включили keep-alive в вашей конфигурации.

Если заголовок Keep-Alive не включён в ответ для конкретных запросов, переменная не будет иметь никакого значения.