ISP가 사용자에게 고성능 웹 서버를 대여해준다. 크기가 큰 웹 사이트를 위해 사용된다.
컴퓨터 한 대를 여러 고객이 공유하기 해서 저렴한 웹 호스팅 서비스를 제공한다. 주로 트래픽이 높지 않은 사이트에서 비용절약을 위해 사용한다.
최종 사용자는 가상 호스팅에 있는 웹 사이트를 물리적으로 분리된 것처럼 느끼지만, 사실은 물리적으로 같은 서버에서 호스팅 되는 것이다.
호스팅 업자는 복제 서버더미(=서버 팜)를 만들고 서버 팜에 부하를 분산한다. 팜에 있는 각 서버는 다른 서버를 복제한 것이다.
HTTP/1.0에서는 공용 웹 서버가 호스팅하고 있는 가상 웹 사이트에 누가 접근하고 있는지 식별하는 기능을 제공하지 않는 설계 결함이 있다. (가상 호스팅을 고려하지 않아서)
서버가 여러 개의 사이트를 가상 호스팅하고 있으면 사용자가 어떤 가상 웹 사이트로 접근하려고 하는지 알 수 없다.
예를 들어 다른 사이트의 index.html 접속하려 하는데 똑같이 GET /index.html 요청을 전송한다.
Host 확장헤더
에 호스트명을 기술해서 전달할 수 있도록 HTTP 를 확장서버팜의 서버에 있는 콘텐츠들은 미러링 되어 있다. 한곳에 문제가 생기면 다른 한 곳에 대신 전달할 수 있다.
미러링된 서버들은 보통 계층적인 관계에 있다.
대리캐시 = 리버스캐시 : 복제 원서버를 대신해서 사용한다.
대리서버를 사용하면 프락시 캐시의 콘텐츠는 요청이 있을 때만 저장된다.
이는 레이어2 혹은 레이어3 장비(스위치나 라우터)가 중간에서 웹 트래픽을 가로채서 처리하기도 한다.
서버팜, 분산 프락시 캐시, 대리서버는 혼잡을 조절하고 네트워크 트래픽을 분산시킨다.
콘텐츠를 분산시키면 콘텐츠의 위치가 사용자와 더 가까워지므로 콘텐츠를 서버에서 클라이언트로 전송하는 시간이 단축된다.
웹 사이트 속도를 높이는 또다른 방법은 콘텐츠를 인코딩 하는 것이다. (콘텐츠 압축)