네트워크에서 가상 호스트(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)
www.shop.com과 www.blog.com이 모두 하나의 IP(203.0.113.10)를 사용.B. IP 기반 가상 호스트 (IP-based Virtual Host)