Разница во времени выполнения между https и http после получения ответа - PullRequest
0 голосов
/ 04 ноября 2019

У меня есть веб-сервер, который отвечает на запросы GET через Http или Https. Я обращаюсь к одному и тому же пути на сервере из двух разных простых приложений Nodejs: одно делает запрос Http, а другое - запрос Https.

Когда я смотрю на время выполнения после ответа, время выполнения Http составляет 5 разбольше, чем время выполнения Https. Что-то странное, я не мог понять. Числа не один раз, я выполнил их несколько раз, и эти числа всегда находятся в одном диапазоне.

На стороне сервера реализован Ruby on Rails за сервером Nginx.

В чем разница между ними?

Запрос Https Код узла:


options  = {
              hostname            : "localhost",
              port                : "1443",
              cookieJar           : true,
              rejectUnauthorized  : false,
              method              : "GET",
              headers             : {'Content-Type': 'application/json'},
              path                : '/issuer/create_tls'
};


req = https.request(options, (res) => {
  var start = process.hrtime();
  var obj;
  res.on('data', (chunk)=>{
      obj = JSON.parse(chunk);
  }).on('end',()=>{
      var elapsed = process.hrtime(start)[1] / 1000000;
      console.log("elapsed time:", elapsed);
  });
});

req.end();
Https elapsed time: 1.187865

Http-запрос Код узла:


options = {host: "localhost", port: '3010', method: 'GET', path: '/issuer/create_tls'};

req = http.request(options, (res)=>{
    var start1 = process.hrtime();
    var obj;
    res.on('data', (chunk)=>{
        obj = JSON.parse(chunk);
    }).on('end',()=>{
        var elapsed1 = process.hrtime(start1)[1] / 1000000;
        console.log("Http elapsed time:", elapsed1);
    });

});

req.end();
Http elapsed time: 5.11164
...