SlideShare a Scribd company logo
자바카페와 함께하는
Apache
HttpComponents
JavaCafe 김흥래
발표자
김흥래
NHN INS 경영지원개발팀에서
그룹웨어를 개발하고 있습니다.
자바카페(JAVACAFE) 커뮤니티에서
운영진으로 활동하고 있습니다.
Apache http component
APACHE
HTTP COMPONETS
 Http 프로토콜 통신을 지원하는 자바 기반의 Component
 Http 기반의 클라이언트 및 서버 프로그램 개발 가능
 Web Spider, Http Proxy, Web Service System
 HttpClient, HttpCore 라이브러리로 구성
 2001년부터 개발되기 시작한 안정화 된 라이브러리
 Apache Commons 프로젝트에서 독립 프로젝트로 승격
Apache http component
Apache http component
APACHE
COMMONS LIBRARY
 프로그램의 공통적인 기능을 재사용하기 위한 목적으로 시작
 Google Library와 더불어 전세계적으로 가장 많이 사용되고 있
는 Library
 현재 Commons Library는 40여개의 컴포넌트들로 구성
 각각의 컴포넌트를 필요에 따라서 선택적으로 사용하는 것이 가
능
Apache http component
Apache http component
Apache http component
Apache http component
2005년
Apache http component
Apache http component
Apache http component
Apache http component
Http Client
Http Core
HTTP Component는 크게 2가지의 기능으로 구성되어 있
다.
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 기준의 라이브러리
HttpCore 라이브러리
특징
 Low Level HTTP 라이브러리
 Blocking I/O 기반 기술 제공
 Non-Blocking I/O 기반 기술 제공
 HTTP 1.1 프로토콜 완벽 지원
HttpCore 라이브러리
모듈
 HttpCore
 Blocking I/O 기반의 Http 컴포넌트
 httpcore-4.2.3.jar
 HttpCore NIO
 Non-Blocking I/O 기반의 Http 컴포넌트
 httpcore-nio-4.2.3.jar
HttpCore 라이브러리
모듈
HttpClient 라이브러리
특징
 HttpCore를 기반으로 만든 Client-side HTTP 통신 라이브러리
 모든 Http 메소드 구현
(GET, POST, PUT, DELETE, HEAD, OPTIONS, TRACE)
 Blocking I/O 기반의 동작방식을 가진다.
 HTTP 메시지를 전송 및 수신이 가능하다.
 손쉬운 Http Proxy 구성이 가능하다.
 Javascript 실행이 불가능하다.
 URI Redirect 동작이나 HTML 랜더링이 불가능하다.
 Web Browser가 아니다.
HttpClient 라이브러리
특징
HttpClient 라이브러리
특징
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
HttpClient 라이브러리
httpclient-4.2.3.jar
HttpClient 라이브러리
httpclient-4.2.3.jar
HttpClient 라이브러리
httpclient-4.2.3.jar
Apache http component
Apache http component
Apache http component
HttpClient 라이브러리
httpmime-4.2.3.jar
HttpClient 라이브러리
httpmime-4.2.3.jar
HttpClient 라이브러리
httpmime-4.2.3.jar
HttpClient 라이브러리
httpmime-4.2.3.jar
HttpClient 라이브러리
httpmime-4.2.3.jar
Apache http component
HttpClient 라이브러리
httpclient-cache-4.2.3.jar
HttpClient 라이브러리
httpclient-cache-4.2.3.jar
HttpClient 라이브러리
httpclient-cache-4.2.3.jar
Apache http component
Http Proxy
원리
Http Proxy
원리
Http Proxy
원리
Http Proxy
구현
 Java URLConnection
 Apache HttpClient 3.x
 Apache HttpClient 4.x
Http Proxy
구현
 Java URLConnection
 JDK 기본 API
 java.net.HttpURLConnection
 Since : JDK 1.1
Http Proxy
구현
 Java URLConnection
Http Proxy
구현
 Apache HttpClient 3.x
 HTTP 통신 라이브러리
 Java URLConnection보다 강력한 기능을 제공
 Cookie 핸들링
 Http Pipelining 지원
 현재 개발 중단
Http Proxy
구현
 Apache HttpClient 3.x
Http Proxy
구현
 Apache HttpClient 4.x
 HttpCore와 HttpClient 분리
 기존 3.x 버전과 하위 호환성 없음
 Non-Blocking I/O 지원
 Proxy Cache 지원
HTTP COMPONENT
사용예
HTTP COMPONENT
사용예
HTTP COMPONENT
사용예
HTTP COMPONENT
사용예
HTTP COMPONENT
사용예
HTTP COMPONENT
사용예
Apache http component

More Related Content

What's hot (20)

PDF
Envoy 를 이용한 코드 배포 자동화
Juwon Kim
 
PDF
nexus helm 설치, docker/helm repo 설정과 예제
choi sungwook
 
PPTX
Valet 으로 windows php 개발 환경 구성하기
KwangSeob Jeong
 
PPTX
처음 시작하는 라라벨
KwangSeob Jeong
 
PPT
자동화된 인프라구축 - 2009년 자료
태준 문
 
PDF
맛만 보자 Undertow
jbugkorea
 
PPTX
01.WEB SYSTEM BASED ON DOCKER
Opennaru, inc.
 
PDF
Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례
Jemin Huh
 
PDF
JBoss EAP on Azure
rockplace
 
PDF
자바 서블릿과 세션 (Java Servlet, Session)
Yu Yongwoo
 
PDF
톰캣 #03-설치
GyuSeok Lee
 
PPTX
[오픈소스컨설팅] Atlassian webinar 기본 트러블슈팅(1 of 2)
Osc Osc
 
PPTX
Vert.x 세미나 이지원_배포용
지원 이
 
PPTX
클라우드 서비스운영 플랫폼 가루다 Open cloudengine_패스트캣_cto 송상욱
uEngine Solutions
 
PPTX
Servlet Architecture
JU Chae
 
PPTX
02.JBOSS EAP7(FOR CONTAINER/CLOUD)
Opennaru, inc.
 
PPTX
JBoss EWS(Tomcat7) vs Jboss eap6
양 희선
 
PPTX
Web server
Herren
 
PDF
[오픈소스컨설팅]J boss6 7_교육자료
Ji-Woong Choi
 
PPTX
010.JAVA TROUBLESHOOTING
Opennaru, inc.
 
Envoy 를 이용한 코드 배포 자동화
Juwon Kim
 
nexus helm 설치, docker/helm repo 설정과 예제
choi sungwook
 
Valet 으로 windows php 개발 환경 구성하기
KwangSeob Jeong
 
처음 시작하는 라라벨
KwangSeob Jeong
 
자동화된 인프라구축 - 2009년 자료
태준 문
 
맛만 보자 Undertow
jbugkorea
 
01.WEB SYSTEM BASED ON DOCKER
Opennaru, inc.
 
Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례
Jemin Huh
 
JBoss EAP on Azure
rockplace
 
자바 서블릿과 세션 (Java Servlet, Session)
Yu Yongwoo
 
톰캣 #03-설치
GyuSeok Lee
 
[오픈소스컨설팅] Atlassian webinar 기본 트러블슈팅(1 of 2)
Osc Osc
 
Vert.x 세미나 이지원_배포용
지원 이
 
클라우드 서비스운영 플랫폼 가루다 Open cloudengine_패스트캣_cto 송상욱
uEngine Solutions
 
Servlet Architecture
JU Chae
 
02.JBOSS EAP7(FOR CONTAINER/CLOUD)
Opennaru, inc.
 
JBoss EWS(Tomcat7) vs Jboss eap6
양 희선
 
Web server
Herren
 
[오픈소스컨설팅]J boss6 7_교육자료
Ji-Woong Choi
 
010.JAVA TROUBLESHOOTING
Opennaru, inc.
 

Similar to Apache http component (20)

PPTX
웹소켓 (WebSocket)
jeongseokoh
 
PDF
Service Worker 를 이용한 
Offline Web Application 구현
병태 정
 
PDF
Basic of web ref.웹을지탱하는기술_01
SangHun Lee
 
PDF
Clojure HTTP API 서버 구현을 위한 라이브러리
Eunmin Kim
 
PDF
2023.05.22 발표 자료 : 스프링 부트 기초
HONG YONG JUN
 
PPTX
REST API 설계
Terry Cho
 
PPTX
Springmvc
HyungKuIm
 
PPTX
웹캣소개서 (스마트교육연구소)
tekville2
 
PDF
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
Tommy Lee
 
PDF
하이퍼레저 프로젝트 개요
Seung-Woo Kang
 
PDF
하이퍼레저 프로젝트 개요
TIMEGATE
 
PPTX
K8s beginner 2_advanced_ep02_201904221130_post
Inho Kang
 
PPTX
141118 최창원 웹크롤러제작
Changwon Choe
 
PDF
build a linux webhosting server
정현 윤
 
PDF
vert.x 를 활용한 분산서버 개발하기
John Kim
 
PPTX
개발 방식을 바꾸는 15가지 기술
중선 곽
 
PDF
파이썬 웹 프로그래밍 2탄
SeongHyun Ahn
 
PDF
Mozilla 오픈 웹 모바일 플랫폼 (2012)
Channy Yun
 
PDF
01.모바일 프레임워크 이론
Hankyo
 
PDF
Node.js 첫걸음
SeungHyun Lee
 
웹소켓 (WebSocket)
jeongseokoh
 
Service Worker 를 이용한 
Offline Web Application 구현
병태 정
 
Basic of web ref.웹을지탱하는기술_01
SangHun Lee
 
Clojure HTTP API 서버 구현을 위한 라이브러리
Eunmin Kim
 
2023.05.22 발표 자료 : 스프링 부트 기초
HONG YONG JUN
 
REST API 설계
Terry Cho
 
Springmvc
HyungKuIm
 
웹캣소개서 (스마트교육연구소)
tekville2
 
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
Tommy Lee
 
하이퍼레저 프로젝트 개요
Seung-Woo Kang
 
하이퍼레저 프로젝트 개요
TIMEGATE
 
K8s beginner 2_advanced_ep02_201904221130_post
Inho Kang
 
141118 최창원 웹크롤러제작
Changwon Choe
 
build a linux webhosting server
정현 윤
 
vert.x 를 활용한 분산서버 개발하기
John Kim
 
개발 방식을 바꾸는 15가지 기술
중선 곽
 
파이썬 웹 프로그래밍 2탄
SeongHyun Ahn
 
Mozilla 오픈 웹 모바일 플랫폼 (2012)
Channy Yun
 
01.모바일 프레임워크 이론
Hankyo
 
Node.js 첫걸음
SeungHyun Lee
 
Ad

More from 흥래 김 (17)

PPTX
생초보를 위한 한글 형태소 분석하기
흥래 김
 
PPTX
검색엔진과 DB Like 검색의 결과가 다른 이유
흥래 김
 
PPTX
Elasticsearch와 Python을 이용하여 맨땅에서 데이터 분석하기
흥래 김
 
PDF
한글 자동완성 구현하기
흥래 김
 
PDF
한글 자모 분석 원리
흥래 김
 
PDF
한글 형태소 분석기 활용하기
흥래 김
 
PDF
엘라스틱서치 클러스터로 수십억 건의 데이터 운영하기
흥래 김
 
PPTX
Spring di chapter2
흥래 김
 
PPTX
Spring di chapter1
흥래 김
 
PPTX
5강 코드효율성
흥래 김
 
PPTX
3. stream api
흥래 김
 
PPTX
2. lambda expression
흥래 김
 
PPTX
1. introduction to java8
흥래 김
 
PDF
Spring boot와 docker를 이용한 msa
흥래 김
 
PPTX
플랫폼 통합을 위한 Client Module 개발 & 배포
흥래 김
 
PPTX
[JCO 컨퍼런스] 웹사이트 Front-End 성능 최적화
흥래 김
 
PDF
[2012 자바카페 OPEN 세미나] Introduction to google guava
흥래 김
 
생초보를 위한 한글 형태소 분석하기
흥래 김
 
검색엔진과 DB Like 검색의 결과가 다른 이유
흥래 김
 
Elasticsearch와 Python을 이용하여 맨땅에서 데이터 분석하기
흥래 김
 
한글 자동완성 구현하기
흥래 김
 
한글 자모 분석 원리
흥래 김
 
한글 형태소 분석기 활용하기
흥래 김
 
엘라스틱서치 클러스터로 수십억 건의 데이터 운영하기
흥래 김
 
Spring di chapter2
흥래 김
 
Spring di chapter1
흥래 김
 
5강 코드효율성
흥래 김
 
3. stream api
흥래 김
 
2. lambda expression
흥래 김
 
1. introduction to java8
흥래 김
 
Spring boot와 docker를 이용한 msa
흥래 김
 
플랫폼 통합을 위한 Client Module 개발 & 배포
흥래 김
 
[JCO 컨퍼런스] 웹사이트 Front-End 성능 최적화
흥래 김
 
[2012 자바카페 OPEN 세미나] Introduction to google guava
흥래 김
 
Ad

Apache http component