@dice_zuさんからhttp.DefaultTransportの正しい(?)コピーのやり方を教えてもらったのでメモしておく。 結論から言うとhttp.DefaultTransport変数にたいしてnet/http#Transport.Cloneメソッドを使うと良い。 これなら新しいGoのバージョンでhttp.Transportに新しいフィールドが追加されても問題ない。 https://pkg.go.dev/net/http#Transport.Clone TL;DR *http.Clientオブジェクトは再利用したほうがよい https://pkg.go.dev/net/http#Client 内部でTCPコネクションのキャッシュを持っているから http.DefaultClientはタイムアウトの設定がされていないので独自定義するのが一般的 http.Transportオブジェクトも