Proxy
proxy (프록시)는 단어 그대로 '대리인'의 역할을 하는 서버이다.
웹 환경에서 프록시 서버의 역할은 웹 클라이언트와 웹 서버 사이에서 요청한 데이터를 전달하는 것입니다.
이 때 프록시 서버는 웹서버에서 가져온 데이터를 웹클라아인트에 전송한 후 캐시에 데이터를 저장합니다.
그리고 웹 클라이언트가 같은 데이터를 요청하면 캐시에서 해당 데이터를 보냅니다. 이를 통해 클라이언트에게 빠르게 필요한 내용을 보여줄 수 있겠죠.
Proxy의 목적
여러가지 목적이 있지만 크게 다음과 같은 2가지 목적으로 사용됩니다.
(1) 속도 : 캐시를 사용하기 때문에 리소스에 대한 접근이 빠릅니다. 프록시서버에서는 자주 가는 웹사이트에 대한 리소스들이 캐시에 쌓여있고 웹 서버에서 직접 가져오는 것보다 좀 더 빠른 속도로 접근할 수 있습니다.
(2) 보안 : 익명의 사용자가 서버에 접근하는 것을 막을 수 있습니다. 프록시 서버는 요청 서버의 대리인의 역할을 수행함으로써 외부 서버망으로의 접근을 막을수 있습니다.
Proxy 서버의 종류
1. forward Proxy
- 가장 일반적으로 사용하는 proxy Server 입니다. Proxy 서버를 클라이언트와 원격 서버에 있는 리소스 사이에 위치 시키는 방법입니다.
-> 일반적으로 사내망 (Private Network) 에서 외부로 나갈 때 사용하는 프록시입니다.
2 Reverse Proxy
- 프록시 서버를 인터넷 혹은 인트라넷 리소스 앞에 위치 시킵니다.
- 이 방식을 사용한다면 클라이언트가 프록시 서버에 연결되었다는 것을 알지 못합니다.
- 보안의 이유가 가장 큽니다. 예를 들어 내부망에 웹 데이터를 요청하여 내부망에 접근하였다면 DB 데이터 혹은 파일 서버에 있는 데이터의 접근 또한 가능하게 될 것입니다.
데이터를 가져오는 과정은 다음과 같습니다.
(1) 클라이언트 1은 웹서버에 데이터를 요청합니다.
(2) 프록시 서버에서 데이터를 우선 요청하고. 캐쉬에 데이터를 저장한 후 클라이언트에게 데이터를 전송합니다.
(3) 클라이언트 2,3이 같은 데이터를 요청한다면 프록시 서버는 서버에 요청하지 않고 캐쉬에 있던 데이터를 가져와서 전송합니다.
'System > Network ' 카테고리의 다른 글
네트워크 바이트 순서와 호스트 바이트 순서 (Network Byte Order, Host Byte Order) (0) | 2018.06.26 |
---|---|
TCP 3-way Handshake vs 4-way Handshake (0) | 2018.05.19 |
TCP Header 구조체 분석 (0) | 2018.05.09 |
TCP/IP , OSI 7 Layer (0) | 2018.04.01 |
방화벽 (Firewall) (0) | 2018.04.01 |