네트워크에서 가상 호스트(Virtual Host)란, 하나의 물리적인 웹 서버를 사용하여 여러 개의 독립적인 웹사이트를 운영할 수 있도록 해주는 기술이다. 이는 하나의 서버가 여러 서버인 것처럼 작동하게 만들어, 서버 자원을 효율적으로 사용하고 비용을 절감하는 데 큰 도움을 준다.

가상 호스트의 기본 원리

웹 서버는 클라이언트로부터 요청을 받을 때, 해당 요청이 어떤 도메인 이름으로 들어왔는지 확인하여 그에 맞는 웹사이트의 콘텐츠를 보여준다.

도메인 이름 가상 호스트 설정 콘텐츠가 있는 디렉터리
www.site-a.com 가상 호스트 A /var/www/site-a/html
www.site-b.net 가상 호스트 B /var/www/site-b/public

사용자가 www.site-a.com으로 접속하면, 서버는 요청 헤더에 있는 도메인 이름을 확인하고, 가상 호스트 A 설정에 따라 /var/www/site-a/html에 있는 페이지를 제공한다.


가상 호스트의 종류

가상 호스트는 웹 서버가 여러 도메인을 구분하는 방식에 따라 크게 두 가지로 나뉜다.

A. 이름 기반 가상 호스트 (Name-based Virtual Host)

B. IP 기반 가상 호스트 (IP-based Virtual Host)

가상 호스트를 사용하는 이유

  1. 비용 절감: 하나의 물리적 서버만으로 여러 웹 서비스를 운영할 수 있어 장비 및 운영 비용이 크게 줄어든다.