网络正在减慢请求或读取响应正文
The network is slowing down the request or reading the response body
我正在写客户端。什么动作应该被超时保护?获取请求 resp, err := http.Get(fileURL)
或读取响应正文 n, err = resp.Body.Read(chunk)
。以下哪些操作会受到网络的影响?
最简单的形式将涵盖拨号和读取正文的超时。 (如果一个连接没有被重用)
c := &http.Client{
Timeout: 15 * time.Second,
}
resp, err := c.Get("https://foo.bar/")
这些都是我知道的http客户端超时。
c := &http.Client{
Transport: &http.Transport{
Dial: (&net.Dialer{
Timeout: 30 * time.Second,
KeepAlive: 30 * time.Second,
}).Dial,
TLSHandshakeTimeout: 10 * time.Second,
ResponseHeaderTimeout: 10 * time.Second,
ExpectContinueTimeout: 1 * time.Second,
}
}
resp, err := c.Get("https://foo.bar/")
我正在写客户端。什么动作应该被超时保护?获取请求 resp, err := http.Get(fileURL)
或读取响应正文 n, err = resp.Body.Read(chunk)
。以下哪些操作会受到网络的影响?
最简单的形式将涵盖拨号和读取正文的超时。 (如果一个连接没有被重用)
c := &http.Client{
Timeout: 15 * time.Second,
}
resp, err := c.Get("https://foo.bar/")
这些都是我知道的http客户端超时。
c := &http.Client{
Transport: &http.Transport{
Dial: (&net.Dialer{
Timeout: 30 * time.Second,
KeepAlive: 30 * time.Second,
}).Dial,
TLSHandshakeTimeout: 10 * time.Second,
ResponseHeaderTimeout: 10 * time.Second,
ExpectContinueTimeout: 1 * time.Second,
}
}
resp, err := c.Get("https://foo.bar/")