我有一个Web服务器,可以通过Http或Https回答GET请求。 我正在从两个不同的简单Node.js应用程序访问服务器上的相同路径:一个执行Http请求,另一个执行Https请求。
当我查看响应后的执行时间时,Http执行时间是Https执行时间的5倍。有点奇怪,我不知道。这些数字不是一次,我已经执行了多次,并且这些数字始终在同一范围内。
服务器端通过Nginx服务器后面的Ruby on Rails实现。
它们之间的区别是什么?
Https请求Node.js代码:
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请求Node.js代码:
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