· net.Dialer.Timeout 限制创建一个TCP连接使用的时间(如果需要一个新的链接) · http.Transport.TLSHandshakeTimeout 限制TLS握手使用的时间 · http.Transport.ResponseHeaderTimeout 限制读取响应报文头使用的时间 · http.Transport.ExpectContinueTimeout 限制客户端在发送一个包含:100-continue的http报文头后,等待收到一个go-ahead响应报文所用的时间。在1.6中,此设置对HTTP/2无效。(在1.6.2中提供了一个特定的封装DefaultTransport) · http.Transport.IdleConnTimeout:连接最大空闲时间,超过这个时间就会被关闭 · http.Transport.ExpectContinueTimeout: 等待服务器的第一个响应headers的时间,0表示没有超时,则body会立刻发送,无需等待服务器批准,这个时间不包括发送请求header的时间 其他参数解释: DisableKeepAlives:true为代表开启长连接 MaxIdleConns: 是长连接在关闭之前,连接池对所有host的最大链接数量 MaxIdleConnsPerHost: 连接池对每个host的最大链接数量(MaxIdleConnsPerHost <= MaxIdleConns,如果客户端只需要访问一个host,那么最好将MaxIdleConnsPerHost与MaxIdleConns设置为相同,这样逻辑更加清晰)