创建一个新的http.Agent似乎对Web服务器很有用,因为我可以控制分配多少个套接字,是否保留未使用的套接字(keepAlive
标志)等等...... / p>
话虽如此,我认为没有办法将自定义代理传递给新服务器的创建。我需要编辑http.globalAgent
吗?
在v7.3.0 nodejs文档中,它说:
http.request ()...
使用的默认http.globalAgent
这也让我想知道在发布http.request
时这是如何工作的。就像在,它正在调用的服务器(任何服务器)是否会识别它应该只分配x个套接字,为什么客户端应该首先确定这样的东西呢?
答案 0 :(得分:0)
<强>
http.request(options[, callback])
强>
options
[对象]•••
agent
[http.Agent] | [Boolean]控制代理行为。可能的值:
undefined
(默认值):对此主机和端口使用http.globalAgent
。- 代理对象:明确使用传入的代理。
false
:导致使用具有默认值的新代理。createConnection
[功能]在未使用代理选项时生成用于请求的套接字/流的函数。这可用于避免创建自定义代理类以覆盖默认的createConnection函数。有关详细信息,请参阅agent.createConnection()
。timeout
[Integer]:指定套接字超时的数字,以毫秒为单位。这将在连接套接字之前设置超时。callback
[功能]返回:
就您的其他问题而言:将套接字视为连接两台计算机的 a 管道。如果您只打开一个套接字,则一次只能发出一个请求;如果您打开 n 套接字,则可以并行 n 请求 。