我发现我们可以使用代理重用TCP连接(以下代码来自Node.js doc):
const http = require('http');
const keepAliveAgent = new http.Agent({ keepAlive: true });
options.agent = keepAliveAgent;
http.request(options, onResponseCallback);
但是现在我对keepAliveAgent
和HTTP Connection: keep-alive
标头有点困惑,它与以下代码有什么区别:
options.headers['Connection'] = 'keep-alive'
http.request(options, onResponseCallback)
似乎他们的行为相同,因为他们俩都想重用TCP连接。
所以我的问题是:启用了keepAlive
选项的代理和HTTP标头Connection: keep-alive