[5장]

hamonjamon·2022년 7월 29일
0

멀티 도메인이 가능한 가상 호스트 기능

  • HTTP/1.1에서는 하나의 HTTP 서버에 여러 개의 웹 사이트를 실행할 수 있습니다.
    => 웹 호스팅을 제공하고 있는 사업자는 1대의 서버에 여러 고객의 웹 사이트를 넣을 수 있습니다.
    고객마다 다른 도메인을 가지고, 다른 웹 사이트를 실행할 수 있으며 이를 위해 가상 호스트라는 기능을 사용하고 있습니다.

  • "가상 호스트" 기능을 사용하면 물리적으로는 서버가 1대지만 가상으로 여러 대가 있는 것처럼 설정하는 것이 가능합니다.

  • 인터넷에서 도메인명은 DNS에 의해 IP 주소로 변환되고 나서 엑세스하게 되는데, 리퀘스트가 서버에 도착한 시점에는 IP 주소를 기준으로 엑세스하게 된다.
    이 때 1대의 서버 안에 www.trycoder.com 이외에 www.catchcoder라는 도메인이 존재할 경우 어느 쪽에 대한 엑세스인지 알 수가 없다.

  • 같은 IP 주소에서 다른 호스트명과 도메인 명을 가진 여러 개의 웹사이트가 실행되고 있는 가상 호스트의 시스템이 있기에, HTTP 리퀘스트를 보내는 경우, 호스트 명과 도메인 명을 완전하게 포함한 URI를 지정하거나, HOST 헤더 필드에서 지정해야 한다.



    통신을 중계하는 프로그램

프록시

  • 서버와 클라이언트의 양쪽 역할을 하는 중계 프로그램이다.
  • 프록시 서버의 기본 동작은 클라이언트로부터 받은 리퀘스트를 서버에 전송하는 것으로
    리소스 본체를 가진 "오리진 서버"로부터 되돌아온 리스폰스는 프록시 서버를 경유하여 클라이언트에게 되돌아온다.
  • 프록시 서버를 경유해서 리퀘스트, 리스폰스를 릴레이할 때마다 "Via" 헤더 필드에 정보가 추가된다.
  1. 캐싱 프록시 : 프록시로 리스폰스를 중계할 때 프록시 서버 상에 리소스 캐시를 보존해주는 타입의 프록시
  2. 투명 프록시 : 프록시로 리퀘스트, 리스폰스를 중계할 때 메시지 변경을 하지 않는 타입의 프록시

게이트웨이

  • 다른 서버를 중계하는 서버로, HTTP 프로토콜 이외의 서버와 통신하며 서비스를 제공하는 서버이다.
  • 클라이언트와 게이트웨이 사이를 암호화함으로써 통신의 안전성을 높이는 역할도 한다.
  • 예를 들어 게이트웨이는 데이터베이스에 접속해 SQL 쿼리를 사용해서 데이터를 얻는 곳에 이용할 수 있다.

터널

  • 요구에 따라 다른 서버와의 통신 경로를 확립한다.
  • 이 때 클라이언트는 SSL 같은 암호화 통신을 통해 서버와 안전하게 통신하기 위해 사용한다.
  • 터널 자체는 투명한 존재이기에 클라이언트가 크게 의식할 필요는 없다.




리소스를 보관하는 캐시



- 캐시 : 프록시 서버와 클라이언트의 로컬 디스크에 보관된 리소스의 사본을 의미한다.

- 캐시를 사용하면 리소스를 가진 서버로의 엑세스를 줄이는 것이 가능하기에 통신 비용을 절약할 수 있다.

- 캐시의 경우 유효 시간이 존재하여 리소스 유효성을 확인하여, 다시 오리진 서버까지 도달하기도 한다.

- 캐시서버만 캐시를 갖고 있는게 아니라, 클라이언트가 사용하고 있는 브라우저에도 캐시를 가질 수 있다.
이를 인터넷 임시 파일이라고 부르며 로컬 디스크로부터 불러옵니다.


0개의 댓글