웹 호스팅이란?
콘텐츠 리소스를 저장, 중개, 관리하는 일을 통틀어 일컫는 말.
호스팅은 웹 서버의 가장 중요한 기능 중 하나이며, 콘텐츠를 저장해서 제공하고 관련 로그에 접근하거나 그것을 관리하는 데 서버가 필요하다.
호스팅 업체는 서버와 웹 사이트 관리 프로그램을 대여해주고 다양한 등급의 보안, 리포트, 사용 편의를 제공한다.
호스팅 서비스
웹이 대세가 되면서, 전문적으로 관리하는 웹 호스팅 서비스를 제공하는 여러 신사업이 만들어졌다.
호스팅 서버는 여러 가지 기능을 제공한다.
전용 호스팅
ISP가 구매해 유지보수하고 있는 전용 웹 서버를 임대하여 호스팅하는 방법. 한 사이트에 전용 웹 서버를 제공해주는 방식임
가상 호스팅
컴퓨터 한 대를 여러 고객이 공유하게 해서 저렴하게 제공하는 웹 호스팅 서비스. 공유 호스팅이라고도 함
전용 호스팅에 비해 비용, 공간, 관리에 이점이 있으며 최종 사용자의 관점에서는 전용 호스팅과 구분할 수 없음
서버 팜이라 부르는 복제 서버 더미에 부하를 분산시킬 수 있음
호스트 정보가 없는 가상 서버 요청
HTTP/1.0에는 공용 웹 서버가 호스팅하고 있는 가상 웹 상이트에 누가 접근하고 있는지 식별하는 기능을 제공하지 않는다.
⇒ 네 가지 기술을 통해 해결하고자 함
- URL 경로를 통한 가상 호스팅
- 서버가 어떤 사이트를 요청하는 것인지 알 수 있게 URL에 특별한 경로 컴포넌트를 추가하는 방식
- 별도의 경로가 불필요하고 혼란스러우며 일반적인 URL은 작동하지 않는다는 단점으로 사용되지 않음
- 포트번호를 통한 가상 호스팅
- 각 사이트에 다른 포트번호를 할당하여 분리된 웹 서버의 인스턴스가 요청을 처리하는 방식
- 사용자가 포트를 명시해야 한다는 단점이 있어 잘 사용되지 않음
- IP 주소를 통한 가상 호스팅
- 각 가상 사이트에 별도의 IP 주소를 할당하고 모든 IP 주소를 장비 하나에 연결하는 방식. 웹 서버는 IP 주소로 사이트 이름을 식별한다.
- 잘 동작하지만 일반적으로 컴퓨터 시스템이 연결할 수 있는 장비의 IP 개수에는 제한이 있으며, IP 주소가 희소 상품이고 복제 서버의 개수만큼 IP 주소가 필요하다는 단점이 있음
- Host 헤더를 통한 가상 호스팅
- Host 요청 헤더를 정의하여 가상 사이트를 식별하는 방식
- HTTP/1.0을 확장해 만든 HTTP/1.0+에서 처음 소개되었으며 HTTP/1.1 명세를 따르려면 Host 헤더를 반드시 기술해야 함
- 현재는 거의 모든 브라우저가 Host 헤더를 지원하여 가장 널리 쓰이는 방식임