問題: を使用しているにもかかわらず、Go HTTP クライアントが同じホストへの複数の接続を作成するのはなぜですかDisableKeepAlives オプションを false に設定しますか?
Go HTTP クライアントは、デフォルトで接続を再利用するように設計されています。ただし、これを妨げる特定の条件があります。
診断:
提供されたコードでは、http.Transport.RoundTrip() メソッドは使用されません。その直後に resp.Close() が呼び出されます。これにより、リクエストの送信直後に接続が閉じられ、後続のリクエストで再利用できなくなる可能性があります。
解決策:
HTTP 接続を確実に再利用するには、 2 つの手順が必要です:
コード スニペット:
<code class="go">res, _ := client.Do(req) io.Copy(ioutil.Discard, res.Body) res.Body.Close()</code>
追加の考慮事項:
以上が「DisableKeepAlives」が False に設定されているにもかかわらず、Go HTTP クライアントで複数の接続が作成されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。