文档:HTTP | Node.js v18.4.0 Documentation
1.简介Agent负责管理 HTTP 客户端的连接持久性和重用。
为给定的主机和端口维护一个待处理请求队列,为每个请求重用套接字连接,直到队列为空
此时套接字要么被销毁,要么被放入一个池中,以便再次用于请求到相同的主机和端口。
是销毁还是池化取决于 keepAlive 选项。
池连接启用了 TCP Keep-Alive,但服务器仍可能关闭空闲连接,此时将从池中删除
并且当对该主机和端口发出新的 HTTP 请求时将建立新连接。
服务器也可能拒绝允许同一连接上的多个请求,此时必须为每个请求重新建立连接,不能池化。
Agent仍然会向服务器发出请求,但每个请求都将通过新连接发生。
当客户端或服务器关闭连接时,它会从池中删除。
池中任何未使用的套接字都将被取消引用,以免在没有请求时保持 Node.js 进程运行。
当套接字发出'close'事件或'agentRemove'事件时,从代理中删除套接字。
当打算长时间保持一个 HTTP 请求打开而不将其保留在代理中时,可以执行以下操作:
http.get(options, (res) => {
// Do stuff
}).on('socket


