Cómo configurar el tiempo de espera HTTP Keep-Alive en un servidor nodejs

De hecho, estoy haciendo algunas pruebas de carga contra un servidor ExpressJS y noté que la respuesta enviada por el servidor incluye un encabezado "Connection: Keep-Alive". Según tengo entendido, la conexión permanecerá abierta hasta que el servidor o el cliente envíen un encabezado de "Conexión: Cerrar".

En algunas implementaciones, el encabezado "Connection: Keep-Alive" viene con un encabezado "Keep-Alive" que establece el tiempo de espera de la conexión y el número máximo de solicitudes consecutivas enviadas a través de esta conexión.

Por ejemplo: "Keep-Alive: timeout = 15, max = 100"

¿Hay una manera (y es relevante) de establecer estos parámetros en un servidor Express?

Si no, ¿sabe cómo ExpressJS maneja esto?

Editar: Después de algunas investigaciones, descubrí que el tiempo de espera predeterminado se establece en elbiblioteca http estándar de nodo:

socket.setTimeout(2 * 60 * 1000); // 2 minute timeout

Para cambiar esto:

var http = require('http');

http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end("Hello World");
}).on('connection', function(socket) {
  socket.setTimeout(10000);
}).listen(3000);

De todos modos, todavía me parece un poco extraño que el servidor no envíe ninguna pista al cliente con respecto a su tiempo de espera.

Edit2: Gracias a josh3736 por su comentario.

setSocketKeepAlive no está relacionado con HTTP keep-alive. Es una opción de nivel TCP que le permite detectar que el otro extremo de la conexión ha desaparecido.

Respuestas a la pregunta(1)

Su respuesta a la pregunta