이전에 캐시(Cache)에 대해 다루면서 프록시에 대해 간단하게 언급하고 지나간 적이 있는데 오늘은 그 프록시에 대해 좀 더 알아보려고 한다.
Proxy란 ?
위 사진을 보면 알 수 있듯이 Proxy는 '대신'이라는 의미를 가지고 있다.
보안상의 이유로 직접 정보를 주고 받을 수 없는 관계에서 Proxy를 이용하여 중계하는 개념이라고 볼 수 있다.
그래서 서버와 클라이언트 사이에서 중계 기능을 하는 서버를 '프록시 서버'라고 한다.
Proxy 서버의 종류
프록시 서버는 두 가지로 종류로 나눌 수 있다.
- Forward Proxy
- Reverse Proxy
1) Forward Proxy
일반적으로 프록시 서버라고 하면 Forward Proxy를 일컫는다. 클라이언트가 요청을 할 때, 서버에 직접하는 게 아닌 프록시 서버에 요청을 하는 방식이다.
클라이언트가 요청한 내용을 프록시 서버에 캐시로 저장해두면 후에 같은 요청을 했을 때, 캐시된 데이터를 사용하면 되므로 전송시간을 절약할 수 있다.
이러한 캐싱 기능뿐만 아니라 특정 사이트에 접근할 수 없도록 제한을 걸 수 있다.
그래서 위 그림처럼 인터넷보다 프록시 서버를 먼저 호출하게 되면 Forward Proxy라고 한다.
2. Reverse Proxy
Reverse Proxy는 Forward Proxy와 반대 개념으로 볼 수 있다.
보통 클라이언트가 요청하면 프록시 서버가 서버에서 데이터를 가지고 와서 클라이언트에서 응답해주는 구조이다.
클라이언트가 직접 서버에 요청을 할 수 있지만 이럴 경우 보안 문제가 발생할 수 있기 때문에 프록시 서버를 둬서 내부망을 보호하는 것이다.
Proxy의 이점
- 실제 IP를 숨길 수 있기 때문에 해킹을 방지하여 보안 측면에서 유리하다.
- 프록시 서버의 캐싱 기능을 활용하여 전송 시간을 줄일 수 있다.
- 프록시 서버에서 로드 밸런싱을 제공하는 경우 서버의 트래픽을 분산시킬 수 있다.
- 접근할 수 없는 사이트를 우회해서 접근할 수 있고, 반대로 접근하지 못하도록 설정할 수 있다.
▼ 도움을 주신 분들
'Web' 카테고리의 다른 글
HTTP와 HTTPS의 차이가 뭐지? (0) | 2022.07.06 |
---|---|
JWT(Json Web Token)란? (0) | 2022.06.16 |
토큰이란 ? (토큰 기반 인증 VS 서버 기반 인증) (0) | 2022.06.15 |
REST란? REST API 와 RESTful API (0) | 2022.06.13 |
캐시(Cache) (0) | 2022.05.23 |