본문 바로가기
HTTP

[HTTP] 프록시(Proxy) 캐시 서버

by 개미가되고싶은사람 2024. 3. 18.

 프록시(Proxy) 캐시 서버

중개자 역할을 하는 프록시는 클라이언트와 원(origin)서버 사이에서 통신을 용이하게 함으로써 클라이언트의 요청을 대신 원(origin)서버에서 받아서 클라이언트에게 주는 역할을 한다. 주요 기능은 자주 사용하는 리소스(예: 웹 페이지, 이미지, 비디오 등)의 복사본을 프록시 서버에 저장하여 해당 리소스에 대한 후속 요청이 원(origin) 서버에서 다시 가져오는 대신 프록시 서버에서 직접 제공할 수 있다. 이 프록시 서버를 캐시 서버로서 이용할  수 있다. 

 

예를 들어 한국에 있는 클라이언트가 미국에 있는 서버를 이용해야 되는 상황이라면 지리적으로 너무 먼 미국 서버에서 리소스들을 가져와야 된다면 상대한 시간이 소요 될 것이다.

 

 

 

그래서 이를 해결하기 위해 프록시 캐시 서버를 도입하여 사용한다

 

 

한국에 프록시 캐시 서버를 따로 두고, 최초의 요청에만 미국 서버까지 가서 캐시에 저장할 수 있는 리소스들을 받아오고 프록시 캐시 서버에 저장한다. 그러면 한국의 클라이언트는 리소스를 가져올때 프록시 캐시 서버로 부터 자료를 가져오면 된다. 특히 여러 사람들이 찾는 자료일수록 이미 캐시에 등록되어있기에 효과적으로 빠른 속도로 자료를 가져올 수 있다.

 

즉, 같은 한국에 있는 클라이언트들은원서버에 접근하는것보다 프록시 캐시 서버에 접근해서 훨씬 빠른 속도에 자료를 가져올 수 있다는 것이다.

중요한 사실이 있는데 클라이언트에서 사용되고 저장되는 캐시를 private 캐시라 하고 프록시 캐시 서버의 캐시를 public 캐시라 한다. 프록시 서버 캐시를 운영한다면, <헤더 캐시 이해하기 글>에 있는 Cache-Control HTTP 헤더도 public으로 설정을 해야 한다.

 

참조: 모든 개발자를 위한 HTTP 웹 기본 지식 - 김영한