[DevOn 2013] Dynamic web proxy

  • 661 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
661
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
9
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 자바카페는 언제나 열려있습니다.