@)참고
"프록시"
- 요청의 중간에 끼어서 전달하는 모든 것
- e.g.) 서버단위 일수도 있고, 객체단위 일수도 있음
Proxy Server
-서버와 클라이언트 사이에 중계기로서 대리로 통신을 수행하는 것을 가리켜
프록시
, 그 중계 기능을 하는 것을 프록시 서버
라고 부른다.
- 캐시/ 보안/ 트래픽 분산 등 여러 장점을 가질 수 있다.
Foward Proxy

캐싱
- 사용자의 관점에서 한번 받아온 이미지 등 정적 파일을 사용자와 서버 사이에 있는 프록시 서버에 캐싱된 리소스를 가져 올 수 있다.
- 전송 시간 절약
- 불필요한 외부 전송 x
- 외부 요청 감소 → 네트워크 병목 현상 방지
보안
- 정해진 사이트만 연결하게 설정하는 등 웹 사용환경을 제한하는 보안 제공
- 익명성
- 서버가 응답받은 요청을 누가 보냈는지 알지 못하게 함
- Server 가 받은 요청 IP = Proxy IP
- 서버에게 클라이언트가 누구인지 감춰주는 역할
포와드 프록시를 사용하는 일반적인 이유
- 방화벽으로 제한된 내부 클라이언트에 대한 인터넷 엑세스 제공
- 캐싱을 사용한 네트워크 사용량 줄이기
Reverse Proxy
리버스 프락시로 웹 서버를 설정할 경우 사용자가 example.com 웹 서비스에 데이타를 요청하면 Reverse Proxy 는 이 요청을 받아서 내부 서버(보통 WAS 입니다)에서 데이타를 받은후에 이 데이타를 사용자에게 다시 전달하게 됩니다.

캐싱
- 서버의 입장에서 자주, 반복적으로 요청이 들어오는 리소스를 프록시 서버에 캐싱해 두는 것
속도와 안전성
- reverse proxy 개념을 이해하고 구성하면 이 앞에 Cache Server 를 붙이거나 SSL 하드웨어 가속기를 연동하는등 아키텍처 측면에서 성능 향상을 하기가 용이해 집니다.
- 아주 심플하게 생각하면 cloudflare 나 akamai 같은 CDN 도 Reverse proxy 로 동작하는 캐시 서버일뿐이니까요.
보안
- Reverse Proxy = Client 입장해서는 Server
- 실제 서버의 IP 노출 하지 않음 (endpoint = Reverse PRoxy Server)
- 클라이언트에게 클라이언트가 누구인지 감춰주는 역할
로드 밸런싱
- 부하분산
리버스 프록시를 사용하는 일반적인 이유
- 인터넷 사용자가 방화벽 뒤의 서버를 접근 할 수 있도록 하기
- 백엔드 서버간의 로드 밸런싱
- 느린 백엔드 서버에 대한 캐싱 제공
- 간단하게는 같은 url 에 대한 여러 서버 운용
- 무중단 배포