- 클라이언트가 프록시를 통해 인터넷에 접속 할 때 빠른 액세스나 안전한 통신등을 확보하기 위한 중계 서버를 'Proxy server' 라고 한다.
- 클라이언트와 Web서버의 중간에 위치하며, 통신을 대신 받아 주는 것이 프록시 서버이다.
장점
- Proxy server는 요청된 내용들의 캐시를 저장해 둔다.
- 한번 캐시 안에 저장된 정보를 다시 요청하게 되면 원격 서버에 접속하여 데이터를 가져오지 않고 캐시를 이용함으로서 전송 시간을 절약하게 될 수 있다.
- 또한 불필요한 외부와의 연결을 하지 않아도 된다.
- 외부와의 트래픽을 줄임으로써 네트워크 병목 현상을 방지할 수 있다.
- 프록시는 Forward Proxy와 Reverse Proxy로 나뉘어진다.
- Forward Proxy는 클라이언트쪽의 설정을 한다.
- Reverse Proxy는 서버쪽의 설정을 한다.
- 클라이언트에서 요청을 할 때 직접 요청하는 것이 아닌 프록시 서버를 거치는 방식이 "Forward Proxy"이다.
- 포워드 프록시의 경우 프록시 서버가 외부 Web 서버와 통신을 한다.
- 그러므로 클라이언트는 프록시 서버만을 통해 정보를 얻게 된다. 따라서 Web 서버쪽에서는 프록시 서버를 통한 액세스 로그가 남는다.
- 캐시에 데이터가 남아 있다면 다음 요청시 캐시된 데이터로부터 제공해주어 빠르게 응답이 가능하다.
- 포워드 프록시 서버를 사용하면 유저의 정체를 숨겨준다.
- IP 주소를 역추적해도 프록시 서버만 보이기 때문에 정체를 파악하기 어렵다.
- Web 서버쪽에 위치하여 클라이언트의 접근을 최초로 받아 리퀘스트에 해당하는 Web 서버에 배분해주는 방식이 "Reverse Proxy"이다.
- 본래 서버의 IP 주소를 노출시킬 필요가 없기 때문에 클라이언트가 실제 서버가 무엇인지 알 수 없다.
- 설정으로 정적 콘텐츠와 동적 콘텐츠의 보는 곳을 나눔으로써 메모리 사용량의 효율화를 할 수 있다. 로드 밸런스와 병용하면 더욱 부담을 분산할 수 있다.
- 포워트 프록시와 동일하게 동일한 데이터를 얻을 때에 프록시 서버가 저장했던 내용을 돌려준다.