[TIL] HTTP : The Definitive Guide "p448 ~ p452"

시윤·2026년 3월 2일

[TIL] Two Pages Per Day

목록 보기
157/159
post-thumbnail

Chapter 20. Redirection and Load Balancing

(해석 또는 이해가 잘못된 부분이 있다면 댓글로 편하게 알려주세요.)


✏️ 요약


Why Redirect?

  • 웹 콘텐츠가 다양한 위치에 분배되어 있는 이유는 다음과 같다
    • 안정성 있는 HTTP 트랜잭션을 위해서 (한 서버가 다운되면 가용성에 문제 발생)
    • 지연을 최소화하기 위해서 (더 가까운 위치에서 리소스를 가져오면 빠르다)
    • 네트워크 대역폭을 절약하기 위해서 (네트워크 혼잡 회피)
  • Redirect의 의의
    • 가장 적절한 위치의 콘텐츠를 찾을 수 있다
    • 네트워크 혼잡을 피할 수 있으며 로드 밸런싱(부하 분산)이 가능하다

Where to Redirect

  • 웹 서버 리디렉션 : IP에 기반하여 요청 처리 -> 어떤 destination이 가장 최적인가
  • 프록시 리디렉션 : 프로토콜에 기반하여 요청 처리 -> destination과 무관하게 효율적인 경로가 무엇인가

Overview of Redirection Protocols

  • 인터넷을 통해 전달되는 HTTP 메시지는 HTTP 응용 프로그램과 라우팅 장치의 영향을 받는다
    • Browser Apps : 어떤 프록시 서버에 전달할 것인지 구성
    • DNS Resolvers : 메시지를 전달할 IP 주소 선택
    • Routers : TCP/IP 기반의 패킷 라우팅 수행
    • Web Servers : 웹 서버에 도달한 후의 부가적인 리디렉션

General Redirection Methods

  • HTTP Redirection : 콘텐츠를 제공할 최적의 웹 서버를 선택한다 (Round-robin일 수도 있고 지연을 최소화하는 방식일 수도 있고 최단 경로를 찾는 방식일 수도 있다)
  • DNS Redirection : 여러 개의 IP 중 하나의 IP를 선택한다 (Round-robin일 수도 있고 지연을 최소화하는 방식일 수도 있고 최단 경로를 찾는 방식일 수도 있다)
  • Anycast Addressing : 여러 서버가 동일한 IP를 사용하는 경우, 각각의 서버가 라우터를 구성하여 가까운 라우터로 패킷을 전달하게 한다 (119에 비유해보자 -> 서울 소방서와 부산 소방서는 같은 소방서지만 서울에서 신고하면 서울 소방서로 라우팅된다)
  • IP MAC for Forwarding : 패킷의 destination address로 포워딩한다
  • IP Address Forwarding : Layer-4 스위치가 패킷의 destination port를 확인한 후 리디렉션 패킷의 IP 주소를 프록시 서버의 IP 주소로 변환한다

Proxy and Cache Redirection Techniques

  • PAC(Proxy Auto-Configuration) : 구성 서버로부터 PAC 파일을 받아 각각의 URL이 어떤 프록시를 사용해야 하는지 전달하기 위한 프로토콜.
  • WPAD(Web Proxy Autodiscovery Protocol) : 브라우저가 구성 서버에 PAC 파일의 URL을 요청하기 위한 프로토콜. PAC 방식과 달리 브라우저를 특별히 구성하지 않아도 된다.
  • WCCP(Web Cache Coordination Protocol) : 라우터가 패킷의 destination address를 확인한 후 프록시 서버의 IP 주소로 패킷을 리디렉션하는 프로토콜.
  • ICP(Internet Cache Protocol) : 여러 캐시에 요청받은 콘텐츠를 질의하기 위한 프로토콜.
  • CARP(Cache Array Routing Procol) : 캐시가 상위 캐시로 요청을 포워딩하는 데 사용되는 프로토콜. ICP 방식과 달리 캐시의 콘텐츠가 교집합이 없으며 여러 개의 캐시가 하나의 거대한 캐시처럼 동작할 때 사용한다.
  • HTCP(Hyper Text Caching Protocol) : 참여 중인 여러 프록시가 여러 캐시에 요청받은 콘텐츠를 질의하기 위한 프로토콜. ICP와 달리 헤더까지 질의한다.
profile
틈틈이 두 페이지씩 원서 읽기

0개의 댓글