35. Apache Http Components
• Http Protocol 통신을 지원하는 자바 기반의 Component
• Http 기반의 클라이언트 및 서버 프로그램 개발 가능
HttpClient, HttpCore 라이브러리로 구성
• 2001년부터 개발되기 시작한 안정화 된 라이브러리
• Apache Commons 프로젝트에서 독립 프로젝트로 승격
36.
37.
38.
39.
40.
41. Apache Http Components
• HttpComponents Core
•
•
•
Low Level의 HTTP 전송 컴포넌트
HTTP 기반의 Server와 Client 구현 가능
Blocking I/O와 Non-Blocking I/O 지원
• HttpComponents Client
•
•
HttpCore를 이용하여 구현한 HTTP 기반의 Client
Blocking I/O 기반
• HttpComponents AysncClient
•
•
•
HttpCore NIO를 이용하여 구현한 HTTP 기반의 Client
Non-Blockin I/O 기반
현재 Beta 버전임
• Commons HttpClient (legacy)
•
과거 3.0 기준의 라이브러리
45. HttpClient 라이브러리
• HttpCore를 기반으로 만든 Client-Side HTTP 라이브러리
• Http 1.1 프로토콜이 지원하는 모든 메소드 구현
(GET, POST, PUT, DELETE, HEAD, OPTIONS, TRACE)
• 기본적으로 Blocking I/O 기반의 동작방식을 가진다.
• HTTP 메시지를 전송 및 수신이 가능하다.
• 손쉬운 Http Proxy 구성이 가능하다.
• URI Redirect 동작이나 HTML 랜더링이 불가능하다.
• Javascript 실행이 불가능하다.
• Web Browser가 아니다.
46. HttpClient 라이브러리
• HttpClient
• Client-side HTTP 통신 지원
• httpclient-4.2.3.jar
• HttpMime
• HttpClient 모듈을 지원하기 위한 용도
• MIME Encoding
• httpmime-4.2.3.jar
• HttpClient Cache
• HttpClient 모듈에 Cache 기능을 추가한 확장 모듈
• Ehcache, Memcached
• httpclient-cache-4.2.3.jar