개발지식

프록시(Proxy) 서버

우루쾅 2024. 2. 4. 16:55
728x90
반응형
SMALL

Proxy란 대리인이라는 뜻으로

프록시 서버는 사용자와 원래의 서버 사이에서 중개자 역할을 하며, 사용자의 요청을 대신하여 원 서버에 전달하고 그 응답을 사용자에게 전달합니다.

 

이 과정에서 프록시 서버는 자주 요청되는 데이터를 캐시에 저장해두어, 같은 요청이 다시 오면 캐시에서 바로 데이터를 제공하여 효율성을 높이는 역할도 합니다!

 

예를 들어 프록시서버가 없을 경우를 가정해보겠습니다.

한국의 클라이언트가 미국의 원 서버에 접속하려고 하려고 한다면 캐싱 기능을 사용할 수 없어 접속이 오래걸릴 뿐 아니라 원서버에 직접 접속하는 과정에서 사용자의 실제 IP가 노출되어 보안에 취약해질 수 있는 점 등등 다양한 단점들이 존재합니다. 

 

프록시 서버를 사용하지 않을 경우 단점들

① 보안 취약성

프록시 서버는 사용자의 IP 주소를 숨기는 역할을 하므로, 원서버에 직접 접속하면 사용자의 실제 IP 주소가 노출되어 보안에 취약해질 수 있습니다.
② 성능 저하

프록시 서버는 자주 사용하는 웹사이트의 정보를 캐시에 저장해 뒀다가 사용자의 요청이 있을 때 캐시에서 빠르게 데이터를 가져오기 때문에 웹 페이지 로딩 속도가 빠릅니다. 그러나 원서버에 직접 접속하면 이런 캐싱 기능을 사용할 수 없어 웹페이지 로딩 속도가 느려질 수 있습니다.
③ 내용 필터링 불가능

프록시 서버는 필요한 콘텐츠만 선택적으로 통과시키거나 특정 콘텐츠를 차단하는 필터링 기능을 가지고 있습니다. 이 기능 없이 원서버에 직접 접속하면 원하지 않는 콘텐츠를 차단할 수 없습니다.
④ 네트워크 트래픽 관리 어려움

프록시 서버는 네트워크 트래픽을 관리하고 최적화하는 역할을 합니다. 원서버에 직접 접속하면, 이런 트래픽 관리 기능을 사용할 수 없어 네트워크 병목 현상이 발생할 수 있습니다

 


하지만 프록시 서버가 있다면 어떠할까요?!!

위 캐이스에서 프록시 서버가 생겼을 경우를 가정을 해보겠습니다.

 

원 서버에서 바로 접속을 하는 것이 아닌 프록시서버에서 접속을 하기 때문에 응답속도가 0.5초에서 0.1초로 줄어듭니다. 또한, 콘텐츠에 대한 접근을 제어하거나, 네트워크의 성능을 향상시킬 수 있는 등 다양한 장점들이 있습니다.

 

프록시 서버의 장점

① 보안 향상

프록시 서버는 사용자의 IP 주소를 숨기므로, 사용자의 실제 위치와 신원 정보를 보호할 수 있습니다. 또한, 프록시 서버는 네트워크 트래픽을 검사하여 악성 코드나 사이버 공격을 차단하는 역할도 합니다.

② 캐싱 기능

프록시 서버는 자주 요청되는 웹 페이지나 데이터를 캐시에 저장하고, 같은 요청이 들어오면 캐시에 저장된 데이터를 제공합니다. 이로 인해 데이터 전송 시간이 단축되고, 네트워크 트래픽이 줄어들어 서버의 부하를 완화시키고 전반적인 네트워크 성능을 향상시킵니다.

③ 콘텐츠 필터링

프록시 서버는 특정 웹 사이트나 콘텐츠에 대한 접근을 제어할 수 있습니다. 이는 학교나 기업 등에서 원치 않는 콘텐츠에 대한 접근을 제한하거나, 특정 정보를 보호하기 위한 목적으로 사용됩니다.

④ 네트워크 효율성 증대

프록시 서버는 네트워크 트래픽을 관리하고 최적화하는 역할을 합니다. 이로 인해 네트워크 병목 현상을 줄이고, 서버에 대한 요청을 효율적으로 분산시켜 전반적인 네트워크 성능을 향상시킬 수 있습니다.

 


 

프록시 서버는 콘텐츠 전송 네트워크(Content Delivery Network, CDN)와 유사하게 웹 콘텐츠를 사용자에게 더 빠르게 전달을 하기 위한 목표를 가진 기술이지만 그 운영 방식과 목적에는 차이가 있습니다.

 

프록시서버는 클라이언트와 웹 서버 사이에 위치하여 중개자 역할을 합니다.

사용자의 요청을 받아 웹 서버에 전달하고, 웹 서버의 응답을 클라이언트에게 전달합니다.

반면에, CDN은 전 세계 여러 지역에 데이터 센터를 두고 해당 지역의 사용자에게 웹 콘텐츠를 더 빠르게 제공하는 서비스입니다. 웹 서버가 한 곳에만 위치하면 원격 지역의 사용자는 웹 콘텐츠에 접근하는데 시간이 오래 걸릴 수 있지만, CDN은 전 세계 여러 곳에 콘텐츠를 복제해 두어 사용자가 가까운 데이터 센터에서 콘텐츠를 받을 수 있게 하여 전송 속도를 향상시킵니다.

 

프록시 서버와 CDN은 둘 다 웹 트래픽을 관리하고 최적화하는데 사용되지만, 그 목표와 방법이 다릅니다.

▶ 프록시서버는 중개자 역할을 하며 보안과 제어 강화 목적

CDN은 성능 최적화와 속도 향상에 목적

 

(인프런에서 강의를 듣다가 김영한님의 프록시 캐시 설명을 듣고 너무 이해가 잘되어 정리를 하고 싶어 작성했습니다. 더 자세한 내용은 김영한님의 모든 개발자를 위한 HTTP 웹 기본 지식 - 프록시 캐시 강의에서 들으실 수 있습니다!)

 

 

출처

GPT-4

인프런 - 김영한님의 모든 개발자를 위한 HTTP 웹 기본 지식(프록시 캐시) => (최고)

 

728x90
반응형
LIST