golang http1.1 超时

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

版权声明:本文为u014763610原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。