Android에서 HTTP client 요구사항 SW

Android에사 HTTP client를 어떤 것을 선택하는 지 꼭 정답은 없는 듯 합니다. Android의 HTTP 클라이언트 라이브러리 에 잘 정리된 글도 있긴 한데, 1년 6개월이 지난 현재도 저게 100% 유효 한 지는 잘 모르겠습니다. Androkd SDK에 포함 된 library나 아주 minor 한 것도 써 봤지만 개발하다보면 제가 요구하는 기능들은 다음과 같습니다.
  1. Gzip 압축 지원. 작고 가벼워서 minor한 것을 썼더니 이게 문제되더군요.
  2. SSLSocketFactory 지원. 인증서 pinning에 필요합니다.
  3. Streaming 지원. 메모리 문제 때문에 Gson과 같이 쓸 때에 streaming 지원이 되어야 합니다.
지원 범위를 ICS+ 로만 하기 때문에 Androi SDK의 이전 버그들은 크게 신경쓰이진 않은데, main thread에서 HTTP 호출 금지는 조금 불편하네요. 그 외에 Gson과 같이 쓰는 입장에서 기본으로 JSON이나 XML 지원은 차라리 안하는게 편하고, multipart 지원 등도 저는 쓰지 않지만 써야 할 듯 합니다.