6. 프락시
6.1 웹 중개자
- 웹 프락시 서버는 클라이언트의 입장에서 트랜잭션을 수행하는 중개인
- HTTP 프락시 서버는 웹서버이기도 하고, 웹 클라이언트이기도 하다. HTTP 클라이언트의 요청을 받게 되므로, 반드시 웹 서버처럼 요청과 커넥션을 적절히 다루고 응답을 줘야 한다. 동시에 요청을 서버로 보내기도 하므로 요청을 보내고 응답을 받는 올바른 HTTP 클라이언트 처럼 동작해야 한다.
6.1.1 개인 프락시와 공유 프락시
- 공용 프락시
- 중앙 집중형 프락시를 관리하는게 비용효율이 높고 쉽다.
- 사용자가 많을 수록 유리함 <- 여러 사용자들의 공통된 요청에서 이득을 취할 수 있음
- 개인 프락시
- 흔하지는 않지만 브라우저의 기능을 확장하거나 성능 개선하거나 비즈니스 광고 운영을 위해 사용함
6.1.2 프락시 대 게이트웨이
- 프락시 같은 프로토콜 을 사용하는 둘 이상의 애플리케이션을 연결
- 게이트웨이는 서로 다른 프로토콜 을 사용하는 둘 이상을 연결
6.2 왜 프락시를 사용하는가?
- 어린이 필터: 일부 서버를 차단할 수 있다.
- 문서 접근 제어자: 많은 웹 서버들과 웹 리소스에 대한 단일한 접근 제어 전략을 구현하고 감시 추적을 하기 위해 사용할 수 있다. (ex. 다른 조직에서 관리되는 종류의 문서를 중앙 프락시 서버에서 접근 제어 설정 가능함)
- 즉 클라이언트 마다 주어지는 권한이 다르며 접근 제어를 할 수 있음
- 보안 방화벽: 보안 강화를 위해 프락시 서버를 사용한다. 서버는 조직안에 들어오거나 나가는6. 콘ㅊ 응용 레벨 프로토콜의 흐름을 네트워크의 한 지점에서 통제한다
- 웹 캐시: 프락시 캐시는 인기 있는 문서의 로컬 사본을 관리하고 해당 문서 요청이 오면 빠르게 제공하여 느리고 비싼 인터넷 커뮤니케이션을 줄인다.
- 대리 프락시, 리버스 프락시: 진자 웹 서버 요청을 받지만 웹 서버와는 달리 요청 받은 콘텐츠의 위치를 찾아내기 위해 다른 서버와 커뮤니케이션을 시작한다. 리버스 프락시는 공용 콘텐츠에 대한 느린 웹 서버의 성능을 개선하기 위해 사용할 수 있다. 흔히 서버 가속기라 부르며, 콘텐츠 라우팅 기능과 결합하여 복제 컨텐츠의 분산 네트워크를 만들때도 사용할 수 있다.
- 콘텐츠 라우터: 콘텐트의 종류에 따라 요청을 특정 웹 서버로 유도하는 콘텐츠 라우터로 동작
- 트랜스코더: 클라이언트에게 전달하기 전에 본문 포맷을 수정할 수 있어서 데이터의 표현 방식을 자연스럽게 변환하는 것을 트랜스코딩이라 한다. (ex. GIF -> JPG 크기 줄일 수 있음)
- 익명화 프락시: HTTP 메시지에서는 신원 식별할 수 있는 특성드이 있는데 이를 제거하여 개인정보보호와 익명성 보장이 가능하다.
6.3 프락시는 어디에 있는가?
6.3.1 프락시 서버 배치
- 출구 프락시(Egress)
- 로컬 네트워크와 더 큰 인터넷 싸이를 오가는 트래픽을 제어하기 위해 프락시를 로컬 네트워크 출구에 넣을 수 있다.
- ex) 회사 밖의 해커들을 막는 방화벽
- ex) 인터넷 트래픽 성능 개선
- ex) 어린이 유해 사이트 차단을 위해 필터링 출구 프락싯
- 접근 프락시
- 고객으로부터 모든 요청을 종합적으로 처리하기 위해 프락시는 ISP 접근 지점에 위치 -> ISP 는 사용자들의 다운로드 속도를 개선하고 인터넷 대역폭 비용을 줄이기 휘애 캐시 프락시를 사용해 많이 찾는 무서들의 사본을 저장
- Internet service provide: 인터넷 서비스 제공자
- 대리 프락시/리버스 프락시
- 네트워크의 가장 끝에 있는 웹 서버들의 바로 앞에 위치
- 웹서버로 향하는 모든 요청을 처리하고 필요시에만 웹 서버에 자원을 요청
- 보안 기능을 추가하거나 웹 서버 캐시를 느립 웹 서버 앞에 놓아 성능 개선
- 일반적으로 웹서버의 이름과 IP 로 가장
- 네트워크 교환 프락시 캐시를 이용해 인터넷 교차로의 혼잡을 완화하고 트래픽 흐름을 감시하여 충분한 처리 능력을 갖춘 프락시가 네트워크 사이의 인터넷 피어링 교환 지점에 놓일 수 있다.