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이 같은 데이터를 요청한다면 프록시 서버는 서버에 요청하지 않고 캐쉬에 있던 데이터를 가져와서 전송합니다.






+ Recent posts