Как установить тайм-аут Keep-Alive HTTP на сервере nodejs

Я действительно выполняю некоторые тесты нагрузки на сервере ExpressJS, и я заметил, что ответ, отправленный сервером, включает заголовок «Connection: Keep-Alive». Насколько я понимаю, соединение будет оставаться открытым до тех пор, пока сервер или клиент не отправят заголовок «Соединение: Закрыть».

В некоторых реализациях заголовок «Connection: Keep-Alive» содержит заголовок «Keep-Alive», устанавливающий тайм-аут соединения и максимальное количество последовательных запросов, отправляемых по этому соединению.

Например: «Keep-Alive: timeout = 15, max = 100»

Есть ли способ (и имеет ли значение) устанавливать эти параметры на сервере Express?

Если нет, знаете ли вы, как это делает ExpressJS?

Редактирование. После некоторых исследований выяснилось, что тайм-аут по умолчанию установлен в стандартной библиотеке http-узла :

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

Чтобы изменить это:

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

Во всяком случае, мне все еще кажется немного странным, что сервер не посылает клиенту никаких намеков относительно его таймаута.

Edit2: Спасибо josh3736 за его комментарий.

setSocketKeepAlive не связан с HTTP keep-alive. Это параметр TCP-уровня, который позволяет вам обнаружить, что другой конец соединения исчез.

Interesting Posts

Удалите защиту от записи с флэш-диска USB

Слияние двух фреймов данных, сохраняя исходный порядок строк

Что такое i = (i, ++ i, 1) + 1; делать?

Указатели против значений в параметрах и возвращаемых значениях

Почему нулевая ссылка печатается как “null”

Блокировка объявлений наведите курсор

Усиливает ли сжатие в драйвере TrueCrypt безопасность?

Как реализовать инструкцию if-else в XSLT?

Как импортировать class из пакета по умолчанию

Как установить фиксированный пользовательский пароль в Teamviewer (сервер) без отправки регистрационных данных?

Windows не может получить доступ к коду ошибки \\ 0x80004005

ASP.NET перезапускается, когда папка создается, переименовывается или удаляется

Изменение переменных среды как стандартного пользователя

Извлечение битов с одним умножением

Почему shell игнорирует кавычки в аргументах, переданных ей через переменные?

Давайте будем гением компьютера.