[WEB] 프록시(Proxy) 개념


프록시는 클라이언트의 요청을 받아 중계하는 서버이다.


1. Proxy 서버란?

Proxy 란 대리 혹은 중계 Agent 로써의 의미이며, 프록시 서버는 클라이언트의 요청을 받아 중계하는 서버이다.

클라이언트 <-> Proxy 서버 <-> 웹 서버

즉, 클라이언트가 요청를 보냈을 때 Proxy서버에서 웹 서버에 접근하여 요청과 응답을 처리한 후 Proxy서버에서 다시 클라이언트에게 응답을 한다.


2. Proxy 서버 특징

  • 익명성으로 보안의 목적으로 사용
  • 캐시를 이용한 요청 속도 개선
  • 차단된 사이트를 우회하여 접속
  • 원하지 않는 사이트를 차단


3. Proxy 서버 캐시 활용

웹 캐시(web cache) 또는 HTTP 캐시(HTTP cache)는 서버 지연을 줄이기 위해 웹 페이지, 이미지, 기타 유형의 웹 멀티미디어 등의 웹 문서들을 임시 저장한 후

동일한 요청 시 프록시 서버의 웹 캐시에 저장된 정보를 불러오므로 트래픽이나 서버의 부하를 줄여 클라이언트가 원하는 정보를 빠르게 응답할 수 있다.


4. Proxy 서버 종류

프록시 서버가 서비스 서버에 작업하는 위치와 네트워크 구성에 따라서 크게 Forward Proxy/Reverse Proxy 로 구분된다.


Forward Proxy (포워드 프록시)

일반적인 프록시 서버를 말하며, 클라이언트와 웹 서버의 중계역할로 클라이언트가 요청 시 Proxy서버는 해당 요청을 웹 서버로 중계해 자원을 가져오는 개념이다.

프록시 서버는 클라이언트가 요청하기 전까지 웹 서버의 주소를 알 수 없다.


Reverse Proxy (리버스 프록시)

클라이언트와 내부망(Private Netowrk) 서버 사이에(앞에) 위치하여 제어역할을 한다. 그래서 클라이언트가 요청을 하면 프록시 서버가 내부망 서버에 요청 후 응답 받은 자원을 클라이언트에게 전달해주는 개념이다.

리버스 프록시 서버는 실제 서버들에 대한 주소를 매핑하고 있어야 한다. 그리고 내부망에 서버에 대해 보안적으로나 로드밸런싱을 위해 사용되기도 한다.




참고:
https://ko.wikipedia.org/wiki/프록시_서버
https://velog.io/@honeysuckle/HTTP-프락시Proxy의-개념
https://dany-it.tistory.com/107
https://milkye.tistory.com/202