BuildDocsReferenceGuidesBlogDiscordnode:httpAgentM[events.captureRejectionSymbol]MaddListenerCoconstructorMcreateConnectionMdestroyMemitMeventNamesPfreeSocketsMgetMaxListenersMgetNameMkeepSocketAliveMlistenerCountMlistenersPmaxFreeSocketsPmaxSocketsPmaxTotalSocketsMoffMonMonceMprependListenerMprependOnceListenerMrawListenersMremoveAllListenersMremoveListenerPrequestsMreuseSocketMsetMaxListenersPsocketsBuildDocsReferenceGuidesBlogDiscordnode:httpAgentM[events.captureRejectionSymbol]MaddListenerCoconstructorMcreateConnectionMdestroyMemitMeventNamesPfreeSocketsMgetMaxListenersMgetNameMkeepSocketAliveMlistenerCountMlistenersPmaxFreeSocketsPmaxSocketsPmaxTotalSocketsMoffMonMonceMprependListenerMprependOnceListenerMrawListenersMremoveAllListenersMremoveListenerPrequestsMreuseSocketMsetMaxListenersPsocketshttp.AgentAgentsocket.connect()freeSocketsSocketmaxFreeSocketsmaxSocketsmaxTotalSocketsrequestsClientRequestsocketsSocket[events.captureRejectionSymbol]ErroraddListenercreateConnectionClientRequestArgsErrorDuplexDuplexdestroyemiteventNamesgetMaxListenersgetNameClientRequestArgskeepSocketAliveDuplexlistenerCountlistenersoffononceprependListenerprependOnceListenerrawListenersremoveAllListenersremoveListenerreuseSocketDuplexClientRequestsetMaxListenersReferenceDocsGuidesDiscordMerch StoreGitHubBlogRuntimePackage managerTest runnerBundlerPackage runnerBun 1.0Bun 1.1Bun 1.2Bun 1.3RoadmapContributingLicenseWe're hiring →
Node http.Agent class | API Reference | Bun,AI智能索引,全网链接索引,智能导航,网页索引
- An `Agent` is responsible for managing connection persistence
and reuse for HTTP clients. It maintains a queue of pending requests
for a given host and port, reusing a single socket connection for each
until the queue is empty, at which time the socket is either destroyed
or put into a pool where it is kept to be used again for requests to the
same host and port. Whether it is destroyed or pooled depends on the `keepAlive` `option`.
Pooled connections have TCP Keep-Alive enabled for them, but servers may
still close idle connections, in which case they will be removed from the
pool and a new connection will be made when a new HTTP request is made for
that host and port. Servers may also refuse to allow multiple requests
over the same connection, in which case the connection will have to be
remade for every request and cannot be pooled. The `Agent` will still make
the requests to that server, but each one will occur over a new connection.
When a connection is closed by the client or the server, it is removed
from the pool. Any unused sockets in the pool will be unrefed so as not
to keep the Node.js process running when there are no outstanding requests.
(see `socket.unref()`).
It is good practice, to `destroy()` an `Agent` instance when it is no
longer in use, because unused sockets consume OS resources.
Sockets are removed from an agent when the socket emits either
a `