使用Go的默认http / 1.1客户端时,您可以在传输级别为客户端配置很多超时。
MaxIdleConns: 0,
MaxIdleConnsPerHost: 0,
MaxConnsPerHost: 0,
IdleConnTimeout: 0,
当然,其中有些在http / 2上没有意义,但至少IdleConnTimeout有用。
在http / 2的服务器端,您可以配置IdleTimeout,但客户端也应该可以。
例如,我有一个代理组件,可以处理请求并将请求转发到许多外部系统。但是,一段时间未使用的系统应在客户端关闭,以不依赖于服务器端的空闲超时。
有一些简单的方法可以做到这一点吗?
http2.Transport
不再包含此类选项。