Nodejs HTTP Agent

Tags
nodejshttp
Created
May 8, 2018 6:17 AM

Node.js 中的 http.Agent 用于池化 HTTP 客户端请求的 socket (pooling sockets used in HTTP client requests). 也就是复用 HTTP 请求时候的 socket. 如果你没有指定 Agent 的话, 默认用的是 http.globalAgent.

https://github.com/zcs19871221/mydoc/blob/master/nodejsAgent.md

只要用了agent,

  1. 当socket空闲下来,只要有未分配的请求,都会进行复用,不管设置没设置keepalive。
  2. 如果当前没有未分配的请求
    1. 如果设置了keepalive,会根据maxSockets和freeSockets参数判断是否把这个socket暂存到freeSockets队列等待以后使用,并开启操作系统的TCP的keepalive功能。
    2. 如果没设置keepalive,这个空闲的socket直接干掉
SuperMade with Super