我对下面发布的代码有疑问。平均/ auth请求是否正常?使用谷歌浏览器检查面板时,显示500 - 800毫秒(等待TTFB)?使用模块请求执行https请求时,我得到相同的结果。我平均而言直接在浏览器中输入https://graph.facebook.com时获得60毫秒。
任何帮助表示赞赏!
app.get('/auth', function(req, res){
res.writeHeader(200, {'Content-Type': 'application/json'});
var options = {
host: 'graph.facebook.com',
port: 443,
path: '/',
method: 'GET',
};
https.get(options, function (resp) {
var body = '';
resp.on('data', function (chunk) {
body += chunk;
});
resp.on('end', function () {
console.log('Request ended.');
res.end('Done');
});
});
});
- 时间快照 -
缓存:
清除浏览器数据后:
..我在节点前使用Nginx。
答案 0 :(得分:4)
您几乎肯定会花费所有时间与Facebook开放和谈判SSL。每次向服务器发送请求时,您当前的设置都必须这样做。通常,您希望使用类似https://www.npmjs.com/package/agentkeepalive的内容来保留预先协商的SSL套接字的连接池。浏览器这样做,这就是为什么从浏览器直接到Facebook的速度要快得多。
在路线外创建代理,然后在路线中,将代理作为选项对象的一部分传递。