$sent_http_keep_alive
NGINX 中的 $sent_http_keep_alive 变量包含响应中发送给客户端的 'Keep-Alive' 头的值。 — NGINX Core (HTTP)
$sent_http_keep_alive
NGINX Core (HTTP)
说明
NGINX 核心在为客户端准备响应时设置 $sent_http_keep_alive 变量。它反映了 HTTP 响应中发送的 'Keep-Alive' 头,该头告知客户端服务器是希望在多次 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 头,则该变量将没有任何值。