この記事について net/http パッケージの Client は内部で TCP コネクションプールを持ち、コネクションのキャッシュ・再利用を行う。リクエスト送信時は、プール内に空きコネクションがあればそれを利用する。 そのため、Client は何度も作るのではなく使いまわした方がよい。この記事ではそのコネクションプールの仕組みについてまとめる。 なお、HTTP/1.x と HTTP/2 では TCP コネクションの使い方が全く異なるため、HTTP/1.x ついてのみ記載する。 対象の Go バージョン: 1.14.4 まとめ http.Client 内でコネクションプールを管理しているのは http.Transport Transport は、以下の connectMethodKey の単位でコネクションを管理する つまり、connectMethodKey が同じになるリクエストは同じコ