YEOJIN-DEV

웹의 구성요소

June 17, 2018 | 1 Minute Read

Web Application은 웹 브라우저와 웹 서버를 말한다. 프락시, 캐시, 게이트웨이, 터널, 에이전트 등이 그것이다.

Proxy

Proxy

프락시는 클라이언트와 서버 사이에 위치하여, 클라이언트의 모든 HTTP 요청을 받아 서버에 전달한다. 프락시는 보안을 위해 사용하는데 웹 트래픽 흐름 속에서 요청과 응답을 필터링한다. 이 과정에서 성인 콘텐츠 차단이나 바이어스 예방 기능을 할 수 있다.

캐시

Web Cache

캐시는 CPU에서 말하는 그것과 역할이 비슷하다. 웹 캐시는 자신을 거쳐 가는 문서들 중 자주 찾는 것의 사본을 저장해두는 역할을 한다. 역할에서 알 수 있듯이 웹 캐시는 프락시의 한 종류이다. 웹 캐시로 인해 웹브라우저가 웹페이지를 더 빠르게 로드할 수 있고 프라이버시 보호 등의 기능도 가능해졌다.

게이트웨이

Gateway

게이트웨이는 다른 서버들의 중개자로 동작하는 특별한 서버이다. 게이트웨이는 HTTP 트래픽을 다른 프로토콜로 변환하기 위해 사용된다. 대표적으로 HTTP/FTP 게이트웨이는 HTTP 요청에서 FTP 프로토콜을 이용해 문서를 가져올 수 있게 한다.

터널

Tunnel

터널은 두 커넥션 사이에서 데이터를 그대로(HTTP 양식이 아니더라도) 전달해주는 애플리케이션이다. HTTP 터널은 주로 비 HTTP 데이터를 하나 이상의 HTTP 연결을 통해 그대로 전송해주기 위해 사용한다.

위 그림을 보면 유저의 HTTP 메시지에 FortiClient의 데이터를 FortiGate라는 터널로 전송한다는 것을 알 수 있다.

에이전트

에이전트는 사용자를 위해 HTTP 요청을 만들어주는 클라이언트 프로그램이다. 우리가 사용하는 웹브라우저도 HTTP 요청을 만들어준다는 의미에서 에이전트라고 말할 수 있다. 대표적으로 웹 크롤러나 검색 엔진에서 활용하는 로봇(Robot) 등이 있다.