Proxy Server
프록시 서버는 클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해 주는 컴퓨터 시스템이나 응용 프로그램을 말한다. 즉, 클라이언트가 서버와 연결될 때 서버에 바로 접근하지 않고 자신을 통해 접근할 수 있도록 해주는 대리 역할을 하는 서버이다.
프록시 서버는 위치에 따라서 Forward Proxy와 Reverse Proxy 두 가지로 나뉜다.
Forward Proxy
클라이언트에 가까이 위치한 프록시 서버를 Forward Proxy라고 한다. Forward Proxy는 클라이언트가 동일한 요청을 보낼 때 서버에 재요청을 하지 않고 캐시에 저장해놓은 결과 데이터로 응답한다. 따라서 요청 결과를 클라이언트에게 빠르게 전달할 수 있는 장점이 있다. 또한 서버에서 클라이언트의 IP 추적이 필요한 경우 프록시 서버의 IP가 전달된다. 즉 서버에게 클라이언트를 숨길 수 있으므로보안상의 이점이 있다.
Reverse Proxy
Forward Proxy와 반대로 서버 가까이에 위치한 프록시 서버이며 서버를 대신해서 클라이언트에 응답을 제공한다. Reverse Proxy 구조에서 프록시 서버로 요청이 들어오면 여러 서버로 요청을 나누어 전달 후 처리한다. 클라이언트 - 서버 구조에서 사용자가 많아질 경우, 서버의 과부하를 방지하기 위해 부하를 분산시킬 수 있다. 또한 클라이언트의 요청 대상이 서버가 아닌 프록시 서버가 되므로 클라이언트에게 서버 IP 주소가 노출되지 않아 보안상의 이점이 있다.
'Today I Learned > Spring' 카테고리의 다른 글
[Spring] 싱글톤 패턴(Singleton Pattern) (2) | 2023.11.01 |
---|---|
[Spring] SOLID 좋은 객체 지향 설계의 5가지 원칙 (54) | 2023.10.27 |
[Spring] Spring Security의 웹 요청 처리 흐름 (2) | 2022.09.28 |
[Spring] Spring Security (0) | 2022.09.27 |
[Spring] API 문서화 (2) | 2022.09.26 |
댓글