- 涉及的结构体Client、Request、Response、Transport
- Client
- Timeout参数,通过context来整体控制超时,Request里面的ctx如果也有超时限制,则谁先超时,就使用哪个,即如果ctx先超时,则使用ctx的,如果timeout先超时,则将ctx重新赋值
- Request
- ctx context.Context,在Client的Timeout已经说了
- Transport
- MaxResponseHeaderBytes,header最大限制,如果为0,则默认值为10M,读取完header,对于body的大小没有限制
- TLSHandshakeTimeout,tls的超时时间设置,通过timer的AfterFunc实现
- Dialer
- Timeout: 获取conn的事件,与Request的ctx取较小超时时间。一般TCP的超时一般是3分钟