실제로 ExpressJS 서버에 대한 부하 테스트를하고 있는데 서버에서 보내는 응답에 "연결 : 연결 유지"헤더가 포함되어 있음을 확인했습니다. 내가 이해하는 한, 서버 또는 클라이언트가 "Connection : Close"헤더를 보낼 때까지 연결은 열린 상태로 유지됩니다.nodejs 서버에서 HTTP 연결 유지 시간 제한을 설정하는 방법
일부 구현에서는 "연결 : 연결 유지"헤더에 연결 시간 초과 및이 연결을 통해 전송되는 최대 연속 요청 수를 설정하는 "연결 유지"헤더가 제공됩니다. 예를 들어
: "연결 유지 : 제한 시간 = 15, 최대 = 100"
방법이 있나요 (그리고 관련) 익스프레스 서버에서 이러한 매개 변수를 설정하는 방법?
그렇지 않은 경우 ExpressJS가 어떻게 처리하는지 알고 계십니까?
편집 :
이를 변경하려면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);
여전히 보이는 몇 가지 조사 후 , 나는 기본 시간 제한이 node standard http library에 설정되어 있는지 발견 서버가 타임 아웃과 관련하여 클라이언트에게 힌트를 보내지 않는다는 것을 나에게 조금 이상하다.
Edit2가 : 자신의 의견에 대한 josh3736에 감사합니다.
setSocketKeepAlive는 HTTP 연결 유지와 관련이 없습니다. 이것은 연결의 다른 쪽 끝이 사라 졌음을 감지 할 수있게 해주는 TCP 수준의 옵션입니다. 익스프레스 3