- 브라우저 같은 HTTP 애플리케이션은 인터넷상의 통일된 콘텐츠 접근 방법을 제공함.
- HTTP는 웹에 있는 모든 리소스에 대한 프로토콜로 사용됐으며, 애플리케이션 간에 서로 다른 프로토콜을 상호 운용하는 용도로 사용함.
<aside>
💡 여러 종류의 리스스에 접근하는데 HTTP가 어떻게 쓰이는지, 다른 프로토콜이나 애플리케이션 간 통신에 HTTP를 어떻게 사용하는지 알아보자.
</aside>
게이트웨이
- 웹에 더 복잡한 리소스를 올려야 할 필요가 생기면서, 모든 리소스를 한 개의 애플리케이션으로만 처리할 수 없다는 문제를 해결하기 위해 게이트웨이가 생김.
- 게이트웨이는 리소스와 애플리케이션을 연결하는 역할.
- 리소스를 받기위한 경로를 연결함.
- 요청을 받고 응답을 보내는 포털 같이 동작하는데, 동적인 콘텐츠를 생성하거나 데이터 베이스에 질의를 보낼 수 있음.
- HTTP 트래픽을 다른 프로토콜로 자동 변환하여, HTTP 클라가 다른 프로토콜을 알 필요 없이 서버에 접속할 수 있게 함.

웹 게이트웨이의 세 가지 예
- 게이트웨이는 FTP URL을 가리키는 HTTP 요청을 받음. 게이트웨이는 FTP 커넥션을 맺고 FTP 서버에 적절한 명령을 전송함. 클라는 HTTP를 통해 적절한 HTTP 헤더를 포함한 문서를 받음.
- 암호화된 웹 요청을 SSL을 통해 받고, 요청을 해독(게이트웨이에 서버 인증서가 설치되어 있어야 함.)해서 생성한 일반 HTTP 요청을 목적지 서버로 전달함. 특히 보안쪽은 서버에 고성능 암호화 기능을 제공할 목적으로 서버 앞단에 위치시킴.
- 게이트웨이는 서버 게이트웨이 API를 통해 HTTP 클라를 서버 측 애플리케이션에 연결함.
- 웹 게이트웨이는 한쪽에서는 HTTP로 통신하고, 다른 한쪽에서는 HTTP가 아닌 다른 프로토콜로 통신함.
<aside>
💡 상이한 HTTP 버전 사이에서 변환을 수행하는 웹 프락시는 게이트웨이와 같지만 양쪽에서 HTTP로 통신하기 때문에, 기술적으론 프락시임.
</aside>
- 통신 설정 방법
- 브라우저에 명시적으로 게이트웨이를 설정하여 트래픽이 게이트웨이를 거쳐 가게 하거나, 대리 서버(리버스 프락시)로 설정할 수 있음.
- ex) HTTP/FTP 게이트웨이로 FTP URL을 포함한 요청은 설정한 주소의 게이트웨이로 HTTP 요청을 보냄(특정 프로토콜에 게이트웨이 설정).