2. 게이트웨이: 프로토콜 <-> 애플리케이션간 HTTP
인터페이스
애플리케이션 인터페이스: 서로 다른 웹 애플리케
이션이 통신하는데 사용
터널: HTTP커넥션으로 wrapping한 HTTP가 아닌
트래픽 전송에 사용
릴레이: hop by hop에 단순 HTTP 프락시
Integration Points
8. 8.2.1 HTTP/*: 서버 측 웹 게이
트웨이
HTTP/*: 서버 측 웹 게이트웨이는 FTP에 커넥션을
맺어서 받은 객체를 HTTP응답에 실어서 클라이언
트에 전송
리버스 프록시와 다른건?
HTTP/FTP 게이트웨이는 직접 21번에 붙음
리버스 프록시는 8080에 붙음
16. 8.3.1 공용 게이트웨이 인터페이
스(CGI)
2장
http://www.joes-
hardware.com/inventorycheck.cgi?item=12731
&color=blue
웹서버 뒤에 있는 Database에 query를 함
17. 8.3.1 공용 게이트웨이 인터페이
스(CGI)
CGI요청마다 프로세스를 만들면 너무 느림
FastCGI 개발되어서 데몬으로 모두 처리
• CGI요청은 데몬이 모두 처리하고 각 프로세스
를 생성
• 각 프로세스가 socket, tcp로 요청 데이터 처리
• 즉, FastCGI는 I/O 다중화와 데몬이 요청을 모
두 처리하는 방식
18. 8.3.2 서버 확장 API
서버 자체의 동작을 바꾸거나
서버의 처리능력을 높이고 싶을땐?
HTTP와 직접 연결 가능한 서버 확장 API 사용
REST
OPEN API
webdav
19. 8.4 애플리케이션 인터페이스와
웹 서비스
HTTP가 애플리케이션을 연결하는 도구로 활용
웹 서비스는 HTTP 위에서 애플리케이션이 정보를
공유하는데 사용하는 새로운 메커니즘
XML -> JSON
SOAP -> REST
20. 8.5 터널
웹 터널은 HTTP 프로토콜을 지원하지 않는 애플
리케이션에 HTTP 애플리케이션을 사용해 접근하
는 방법을 제공
HTTP 커넥션으로 HTTP가 아닌 트래픽 전송
HTTP 위에 다른 프로토콜을 올림
21. 8.5 터널
웹 터널은 HTTP 프로토콜을 지원하지 않는 애플
리케이션에 HTTP 애플리케이션을 사용해 접근하
는 방법을 제공
HTTP 커넥션으로 HTTP가 아닌 트래픽 전송
HTTP 위에 다른 프로토콜을 올림
22. 8.5.1 CONNECT로 HTTP 터널
커넥션 맺기
CONNECT 메서드 사용해서 TCP커넥션을 맺음
요청
CONNECT home.netscape.com:443 HTTP/1.0
User-agent: Mozilla/4.0
응답
HTTP/1.0 200 Connection Established
Proxy-agent: Netscape-Proxy/1.1