это не потокобезопасно.
вы не должны кэшировать / делиться соединением. просто создайте новое соединение для каждого запроса. создание новых соединений, безусловно, сопряжено с небольшими затратами, но оно очень мало, вам не стоит об этом беспокоиться.
дух HTTP фактически не требует подключения. Семантически говоря, нет связи между клиентом и сервером. клиент отправляет запрос, сервер отправляет ответ, вот и все.
хотя сегодня HTTP действительно определен поверх TCP, который является протоколом с установлением соединения, и HTTP может использовать долгоживущее TCP-соединение для нескольких запросов / ответов, это не характер HTTP.
, поскольку обмен запросом-ответом может быть реализован поверх большинства сетевых протоколов, изначально HTTP допускал возможность указания базовых протоколов. Мы можем представить http запрос / обмен ответами по электронной почте - http:/smtp/www.example.com
; возможно RMI - http:/rmi/www.example.com
; по умолчанию используется TCP, поэтому http://
действительно означает http:/tcp/
сегодня используется только TCP, и у нас остался этот любопытный разделитель двойной косой черты. но это напоминание о том, что зависимость HTTP от TCP довольно случайна.