IT/Java
Apache HttpClient 와 CloseableHttpClient 차이점 +(DefaultHttpClient / HttpClientBuilder)
성준하이
2024. 5. 1. 08:25
반응형
우선 HttpClient 란 HTTP 메서드를 실행하는것이 주 목적이다.
일반적으로는 HttpClient에 의해 내부적으로 처리된다.
여기서 만들어진것이 CloseableHttpClient 이다.
CloseableHttpClient는 HttpClient의 기본 구현인 추상 클래스이고, 아래 코드는 간단한 예제 이다.
CloseableHttpClient httpclient = HttpClients.createDefault(); HttpGet httpget = new HttpGet("http://localhost/"); CloseableHttpResponse response = httpclient.execute(httpget); try { //code } finally { response.close(); } |
finally 부분에 나와있는것처럼 HttpClient 리소스 할당 해제를 반드시 해야한다.
CloseableHttpClient 에 대해서는 baeldung 에서도 다루고 있으니 아래 글을 참고해도 도움되는 예제를 얻을수가 있다.
https://www.baeldung.com/apache-httpclient-vs-closeablehttpclient
그리고 이제 더 나아가 DefaultHttpClient라는것이 있다.
CloseableHttpClient 와 동일하게 HttpClient의 구현 클래스이지만 현재는 잘 사용되지는 않는다.
HttpClientBuilder를 대신해서 많이 사용이 되긴한다.
결론은 HttpClient 를 사용하기 위해 CloseableHttpClient를 사용할순 있고,
사용을 하면 반드시 할당 해제를 같이 해야한다는것으로 마무리 한다.
반응형