Festlegen des HTTP-Keep-Alive-Timeouts auf einem NodeJS-Server

Ich führe derzeit einige Auslastungstests für einen ExpressJS-Server durch und habe festgestellt, dass die vom Server gesendete Antwort den Header "Connection: Keep-Alive" enthält. Soweit ich weiß, bleibt die Verbindung geöffnet, bis der Server oder der Client den Header "Connection: Close" sendet.

In einigen Implementierungen wird im Header "Connection: Keep-Alive" ein Header "Keep-Alive" angezeigt, der das Verbindungszeitlimit und die maximale Anzahl aufeinanderfolgender Anforderungen festlegt, die über diese Verbindung gesendet werden.

Zum Beispiel: "Keep-Alive: Timeout = 15, max = 100"

Gibt es eine Möglichkeit (und ist sie relevant), diese Parameter auf einem Express-Server festzulegen?

Wenn nicht, wissen Sie, wie ExpressJS damit umgeht?

Bearbeiten: Nach einigen Nachforschungen habe ich herausgefunden, dass das Standard - Timeout in eingestellt isthttp-Standardbibliothek des Knotens:

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

Um dies zu ändern:

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);

Trotzdem sieht es für mich ein bisschen komisch aus, dass der Server dem Client keinen Hinweis auf sein Timeout gibt.

Edit2: Vielen Dank an josh3736 für seinen Kommentar.

setSocketKeepAlive hat nichts mit HTTP-Keep-Alive zu tun. Dies ist eine Option auf TCP-Ebene, mit der Sie feststellen können, dass das andere Ende der Verbindung verschwunden ist.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage