본문 바로가기

오늘의 공부/서버

http 완벽가이드(11일차): 8장 게이트웨이 궁금증 및 기록

 

 

 

*게이트웨이: 다른 프로토콜과 애플리케이션 간 http인터페이스

 

웹에서 더 복잡한 리소스를 사용하기 위해 모든 리소스를, 하나의 애플리케이션으로만 처리할 수 없어졌다.

리소스를 받기위한 경로를 안내하는 역할이 게이트웨이다.

 

게이트웨이는 HTTP 트래픽을 다른 프로토콜로 자동으로 변환하여, HTTP 클라이언트가 다른 프로토콜을 알 필요없이

서버에 접속하게 해준다.

 

웹 게이트웨이는 한쪽에서는 HTTP로 통신하고 다른 한쪽에서는 HTTP가 아닌 다른 프로토콜로 통신한다.

 

 

프로토콜 게이트웨이

 

애플리케이션 서버는 HTTP를 통해 클라이언트와 통신하고 서버 측에 있는 애플리케이션  프로그램에 연결하는 

서버 측 게이트웨이다.

 

서버에서부터 파일이 전송되는게 아닌  게이트에이의 애플리케이션 프로그래밍 인터페이스(API)를 통해서 

서버에서 동작하는 있는 애플리케이션에 전달한다.

 

예를 들어 카메라  애플리케이션이 있으면 클라이언트로부터 요청을 받고 그 용청을 API 를 통해 카메라 애플리케이션에 전달된다.

 

서버에 있는 어떤 프로그램을 실행시키는게  API인듯 하다.

 

 

애플리케이션 게이트웨이에서 유명한 최초의 API는 CGI(COMMON GATEWAY INTERFACE) 였다.

 

CGI는 서버의 확장이다. 예를 들어 데이터베이스에 접근할때는 쿼리로 접근하여 데이터를 반환하는것처럼.

 

CGI는 요청마다 새로운 프로세스를 만들어내는데 부하가 크다.

 

CGI 프로토콜은 작동중인 HTTP서버에   외부 인터프리터가 쉽게 접속하게 해준다.

 

서버의 동작 자체를 바꾸려면 확장 API로 코드를 직접 서버에 연결하거나 서버의 컴포넌트를 커스텀하여 교체있게 한다.

유명 서버 대부분은 개발자에게 확장 API를 한개 이상 제공한다.

 

[확장 API]

확장API는 서버의 아키텍쳐에 기반하기 때문에 보통 한가지 서버 형식으로 특화된다.

확장API로 서버 동작을 변경하거나 리소스에 대한 인터페이스 변경이 가능하다.

 

[애플리케이션간 인터페이스]

데이터를 교환하는 서로 다른 애플리케이션 사이에서 프로토콜 인터페이스 맞추는일은 어렵다.

 

웹서비스는 서로 다른 애플리케이션이 정보를 공유하는데 쓰이는 메커니즘을 의미한다.

 

웹서비스는 SOAP을 통해 XML을 사용하여 정보를 교환한다.

SOAP는 HTTP 메시지에 XML 데이터를 담는 표준이다.

 

 

[웹터널]

 

HTTP프로토콜을 지원하지 않는 애플리케이션에 HTTP 애플리케이션을 통해 접근하게 해준다.

웹터널을 사용하면 트래픽을  HTTP가 아니어도 전송할수 있고, 다른 프토토콜을  HTTP위에 올릴수있다.

 

[릴레이]

HTTP명세를 다 준수하지 않아도 되는 프락시다. HTTP 커넥션을 맺고 바이트를 일방적으로 전달한다.

 

 


 

[앞으로 더 찾아볼 개념]

 

*릴레이 실사용에 대해서 왜 쓰는지 감이 안옴. 무한루프 문제도 생길수 있고

*CWD 명령??

*CRLF?

*캐시와 게이트웨이 프록시가 무슨차이지? (다 읽어봐도 아직도 모르겠음)