Your SlideShare is downloading. ×
[DevOn 2013] Dynamic web proxy
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

[DevOn 2013] Dynamic web proxy

842

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
842
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

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

×