HttpClient5는 타임아웃/설정을 **“요청 단위(RequestConfig)”**와 **“커넥션(소켓) 단위(ConnectionConfig)”**로 나눠서 걸도록 설계돼 있다. 그리고 RequestConfig의 connect timeout은 deprecated로 밀어내고, connect는 ConnectionConfig로 옮겼다.

RequestConfig가 담당하는 것

RequestConfig는 이름 그대로 “요청 실행(request execution)”에 대한 설정이다. 즉, “이번 요청을 수행하는 동안”의 정책들.

대표적으로:

중요: RequestConfig의 connect timeout은 deprecated다. 즉 “연결 성립까지”는 요청 정책으로 두지 말고, 커넥션 설정으로 옮기라는 뜻.

ConnectionConfig가 담당하는 것

ConnectionConfig는 **“풀에서 생성되는 커넥션(소켓) 자체의 기본 성질”**을 정하는 설정이다. 즉, “이 커넥션이 어떤 소켓 타임아웃/TTL을 갖는가” 같은 레벨.

대표적으로:

둘의 차이를 한 문장으로

언제 둘 다가 필요한가