HTTP는 클라이언트와 서버 외에 통신을 중계하는 프로그램과 서버를 연계할 수도 있다.
서버와 클라이언트의 양쪽 역할을 하는 중계 프로그램
클라이언트로부터 받은 리퀘스트를 다른 서버에 전송한다
오리진 서버
: 리소스 본체를 가진 서버. 오리진 서버에서 돌아온 리스폰스는 프록시 서버를 경유하여 클라이언트에게 돌아간다.
사용 이유
(1) 캐시를 이용해 네트워크 대역을 효율적으로 사용하기 위함
(2) 조직 내 특정 웹 사이트에 대한 액세스를 제한하기 위함
(3) 액세스 로그를 획득하는 정책을 지키기 위함
사용 방법
(1) 캐시 여부로 구분
(2) 메시지 변경 여부로 구분
종류
(1) 캐싱 프록시 (Cashing Proxy)
: 프록시로 리스폰스 중계할 때 프록시 서버 상에 리소스 캐시를 보존하는 타입의 프록시
(2) 투명 프록시 (Transparent Proxy)
: 프록시로 리퀘스트-리스폰스 중계할 때 메시지 변경을 하지 않는 타입
: 반대로 변경하는 타입을 비투과 프록시라고 한다.
다른 서버를 중계하는 서버
서로 떨어진 두 대의 클라이언트와 서버 사이를 중계하며 접속을 주선하는 중계 프로그램
캐시 (Cache)
: 프록시 서버와 클라이언트의 로컬 디스크에 보관된 리소스의 사본을 가리킨다.
: 통신량과 통신 시간을 절약할 수 있다.
캐시 서버
: 프록시 서버의 일종 = 캐싱 프록시
: 프록시가 리스폰스 중계할 때 프록시 서버 상의 리소스 사본을 보존한다
: 캐시를 이용함으로써 서버는 같은 리퀘스트를 매번 처리하지 않아도 된다.
캐시의 유효기간
: 캐시되어 있는 리소스에는 유효성이 있다
: 클라이언트의 요구나 캐시 유효 기간 등에 의해 오리진 서버의 유효성 확인, 새로운 리소스 획득이 필요하다
클라이언트 측의 캐시
: Ex. 인터넷 익스플로러의 인터넷 임시 파일
: 브라우저가 유효한 캐시를 가진 경우 - 같은 리소스의 액세스는 서버가 아닌 로컬 디스크로부터 불러온다
마찬가질로 리소스가 오래된 것으로 판단되는 경우
: 오리진 서버에 리소스 유효성 확인, 새로운 리소스 획득 필요