공부를 하다보면, 항상 등장하는 단어라 그때마다 찾아보지만, 이게 계속 등장하는데도 까먹는 용어들이 있다.

오늘의 주인공은 프록시(Proxy)이다.


Proxy 란?

 

프록시는 대리, 중개자 를 의미하고, 네트워크에서는 클라이언트와 서버간의 요청과 응답을 대신 처리해주는 역할을 의미한다.

이러한 프록시가 동작하는 방법은 다음과 같다 -> 사용자가 어떤 요청(웹사이트 접속이라고 가정) 을 하면 프록시가 그 요청을 받아 대신 서버에 전달하고, 서버로 부터 받은 응답 (Response)를 다시 사용자에게 반환하는 역할을 한다.


Proxy Server 란?

프록시 서버는 프록시 역할을 수행하는 서버를 지칭하며, 클라이언트와 실제 서버 사이에 위치하여 요청을 중계하는 서버를 의미한다

프록시 서버의 기능은 다음과 같다

1. 익명화 : 사용자의 IP 주소를 숨겨 프라이버시 보호

2. 캐싱 : 자주 요청되는 데이터를 캐싱하여 속도 향상

3. 접근 제어 : 특정 웹이나 리소소에 대한 접근을 차단하거나 허용

4. 보안 강화 : 웹 트래픽을 검사해 악성 코드나 위험한 콘텐츠를 차단

5. 로드 밸런싱 : 여러 서버로 요청을 분산하여 서버 부하를 줄이고 성능 최적화


Proxy 의 한계

1. 암호화 부족 : 프록시 서버 대부분은 암호화 지원X -> 공공 네트워크에서 데이터 탈취 위험성 높음

2. 속도 저하 : 공개 프록시 서버일 경우, 트래픽이 많아 속도가 저하될 수 있음

3. 신뢰성 문제 : 무료 프록시 서버는 종종 신뢰할 수 없고, 기록된 사용자 데이터를 악용하는 사례가 존재한다

4. 제한적 기능 : 보안과 암호화가 중요시되는 작업에는 적합하지 않고, 트래픽을 보호하기 힘들다

5. 관리 복잡성 : 프록시 서버를 제대로 관리하지 않으면 네트워크 장애로 서비스 중단이 발생할 가능성이 있다.


Proxy를 언제 써야할까?

1. 가벼운 콘텐츠 우회 : 차단된 웹 접속 시

2. 네트워크 성능 최적화 : 캐싱을 통해 성능 최적화

3. 익명성 : 익명성을 제공해야하는 상황일 때

4. 기업 / 학교 단위의 네트워크 관리나 접근 제어시 사용