Your SlideShare is downloading. ×
0
자바카페 OPEN 세미나 in DevOn 2013

Dynamic Web Proxy

어떻게 구현하나요?
JavaCafe
김흥래
발표자 : 김흥래
NAVER INS에서 그룹웨어를 개발하고 있습니다.
자바카페(JAVACAFE) 커뮤니티에서
운영진으로 활동하고 있습니다.
hrkim3468@gmail.com
Proxy
Overview
Proxy를 어디에 사용할까?
• Web Server 앞쪽 Cache 용도 (Web Cache)
• 서비스의 접근 정책 적용 (사이트 차단)
• 네트워크 Access 로깅
• 다른 정보를 빼낼 목적
• IP 추적을 피할...
Proxy의 두가지 측면?
Proxy를 어디에 사용할까?
• Web Server 앞쪽 Cache 용도 (Web Cache)
• 서비스의 접근 정책 적용 (사이트 차단)
• 네트워크 Access 로깅
• 다른 정보를 빼낼 목적
• IP 추적을 피할...
Proxy를 어디에 사용할까?
• Web Server 앞쪽 Cache 용도 (Web Cache)
• 서비스의 접근 정책 적용 (사이트 차단)
• 네트워크 Access 로깅
• 다른 정보를 빼낼 목적
• IP 추적을 피할...
Proxy Server
Forward Proxy Server
Reverse Proxy Server
Open Proxy Server
Web Proxy
Web Proxy (Http Proxy)
Http Security Proxy
API Gateway
API Gateway
API Gateway
Web Browser ?
Web Proxy ?
Web Browser
Web Proxy
Http Proxy
Internal
Basic Http Proxy
• URLConnection
• JDK 기본 API
• java.net.HttpURLConnection
• Since : JDK 1.1
Basic Http Proxy
Advanced Http Proxy
Apache Http Components
• Http Protocol 통신을 지원하는 자바 기반의 Component

• Http 기반의 클라이언트 및 서버 프로그램 개발 가능
HttpClient, HttpCore 라이...
Apache Http Components
• HttpComponents Core
•
•
•

Low Level의 HTTP 전송 컴포넌트
HTTP 기반의 Server와 Client 구현 가능
Blocking I/O와 No...
Http Core

Http Client

HTTP Component는
크게 2가지의 모듈로 구성되어 있다.
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 컴포...
HttpClient 라이브러리
• HttpCore를 기반으로 만든 Client-Side HTTP 라이브러리
• Http 1.1 프로토콜이 지원하는 모든 메소드 구현
(GET, POST, PUT, DELETE, HEAD,...
HttpClient 라이브러리
• HttpClient

• Client-side HTTP 통신 지원
• httpclient-4.2.3.jar

• HttpMime

• HttpClient 모듈을 지원하기 위한 용도
• ...
HttpClient 라이브러리
HttpClient 라이브러리
HttpClient 라이브러리
HttpClient 라이브러리
HttpClient 라이브러리
HttpClient 라이브러리
Http Core

Http Client
DEMO
Thank you
자바카페는 언제나 열려있습니다.
[DevOn 2013] Dynamic web proxy
[DevOn 2013] Dynamic web proxy
[DevOn 2013] Dynamic web proxy
[DevOn 2013] Dynamic web proxy
[DevOn 2013] Dynamic web proxy
[DevOn 2013] Dynamic web proxy
[DevOn 2013] Dynamic web proxy
[DevOn 2013] Dynamic web proxy
[DevOn 2013] Dynamic web proxy
[DevOn 2013] Dynamic web proxy
[DevOn 2013] Dynamic web proxy
[DevOn 2013] Dynamic web proxy
[DevOn 2013] Dynamic web proxy
[DevOn 2013] Dynamic web proxy
[DevOn 2013] Dynamic web proxy
[DevOn 2013] Dynamic web proxy
[DevOn 2013] Dynamic web proxy
[DevOn 2013] Dynamic web proxy
Upcoming SlideShare
Loading in...5
×

[DevOn 2013] Dynamic web proxy

915

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
915
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
13
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "[DevOn 2013] Dynamic web proxy"

  1. 1. 자바카페 OPEN 세미나 in DevOn 2013 Dynamic Web Proxy 어떻게 구현하나요? JavaCafe 김흥래
  2. 2. 발표자 : 김흥래 NAVER INS에서 그룹웨어를 개발하고 있습니다. 자바카페(JAVACAFE) 커뮤니티에서 운영진으로 활동하고 있습니다. hrkim3468@gmail.com
  3. 3. Proxy Overview
  4. 4. Proxy를 어디에 사용할까? • Web Server 앞쪽 Cache 용도 (Web Cache) • 서비스의 접근 정책 적용 (사이트 차단) • 네트워크 Access 로깅 • 다른 정보를 빼낼 목적 • IP 추적을 피할 목적 • 지역 구분을 회피 할 목적
  5. 5. Proxy의 두가지 측면?
  6. 6. Proxy를 어디에 사용할까? • Web Server 앞쪽 Cache 용도 (Web Cache) • 서비스의 접근 정책 적용 (사이트 차단) • 네트워크 Access 로깅 • 다른 정보를 빼낼 목적 • IP 추적을 피할 목적 • 지역 구분을 회피 할 목적
  7. 7. Proxy를 어디에 사용할까? • Web Server 앞쪽 Cache 용도 (Web Cache) • 서비스의 접근 정책 적용 (사이트 차단) • 네트워크 Access 로깅 • 다른 정보를 빼낼 목적 • IP 추적을 피할 목적 • 지역 구분을 회피 할 목적
  8. 8. Proxy Server
  9. 9. Forward Proxy Server
  10. 10. Reverse Proxy Server
  11. 11. Open Proxy Server
  12. 12. Web Proxy
  13. 13. Web Proxy (Http Proxy)
  14. 14. Http Security Proxy
  15. 15. API Gateway
  16. 16. API Gateway
  17. 17. API Gateway
  18. 18. Web Browser ? Web Proxy ?
  19. 19. Web Browser
  20. 20. Web Proxy
  21. 21. Http Proxy Internal
  22. 22. Basic Http Proxy • URLConnection • JDK 기본 API • java.net.HttpURLConnection • Since : JDK 1.1
  23. 23. Basic Http Proxy
  24. 24. Advanced Http Proxy
  25. 25. Apache Http Components • Http Protocol 통신을 지원하는 자바 기반의 Component • Http 기반의 클라이언트 및 서버 프로그램 개발 가능 HttpClient, HttpCore 라이브러리로 구성 • 2001년부터 개발되기 시작한 안정화 된 라이브러리 • Apache Commons 프로젝트에서 독립 프로젝트로 승격
  26. 26. 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 기준의 라이브러리
  27. 27. Http Core Http Client HTTP Component는 크게 2가지의 모듈로 구성되어 있다.
  28. 28. HttpCore 라이브러리 • • • • Low Level HTTP 라이브러리 Blocking I/O 기반 기술 제공 Non-Blocking I/O 기반 기술 제공 HTTP 1.1 프로토콜 완벽 지원
  29. 29. HttpCore 라이브러리 • HttpCore • Blocking I/O 기반의 Http 컴포넌트 • httpcore-4.2.3.jar • HttpCore NIO • Non-Blocking I/O 기반의 Http 컴포넌트 • httpcore-nio-4.2.3.jar
  30. 30. 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가 아니다.
  31. 31. 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
  32. 32. HttpClient 라이브러리
  33. 33. HttpClient 라이브러리
  34. 34. HttpClient 라이브러리
  35. 35. HttpClient 라이브러리
  36. 36. HttpClient 라이브러리
  37. 37. HttpClient 라이브러리
  38. 38. Http Core Http Client
  39. 39. DEMO
  40. 40. Thank you 자바카페는 언제나 열려있습니다.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×