AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > Linux

Apache下的虚拟主机设置

51自学网 http://www.51zixue.net

一、WWW服务器虚拟主机原理

WWW服务器虚拟主机是指使用一台物理机器,充当多个主机名的WWW服务器。比如由一台机器同时提供http://www.company1.com, http://www.company2.com 等的WWW服务,而浏览这些WWW站点的用户感觉不到这种方式下跟由不同的机器提供不同的服务有什么差别。

使用WWW虚拟主机的好处在于,一些小规模的网站,通过跟其他网站共享同一台物理机器,可以减少系统的运行成本,并且可以减少管理的难度。另外,对于个人用户,也可以使用这种虚拟主机方式来建立有自己独立域名的WWW服务器,目前国内有很多公司都提供这种免费的服务。

WWW虚拟主机有两种工作方式:

1.1 基于IP地址的虚拟主机方式

这种方式下,不同的主机名解析到不同的IP地址,提供虚拟主机服务的机器上同时设置有这些IP地址。服务器根据用户请求的目的IP地址来判定用户请求的是哪个虚拟主机的服务,从而进一步的处理。
缺点:基于IP地址的虚拟主机方式需要在提供虚拟主机服务的机器上设立多个IP地址,既浪费了IP地址,又限制了一台机器所能容纳的虚拟主机数目。因此这种方式越来越少使用。但是,这种方式是早期使用的HTTP 1.0协议唯一支持的虚拟主机方式。

1.2 基于主机名的虚拟主机方式

由于基于IP地址的虚拟主机方式有如上的缺点,HTTP 1.1协议中增加了对基于主机名的虚拟主机的支持。具体说,当客户程序向WWW服务器发出请求时,客户想要访问的主机名也通过请求头中的“Host:”语句传递给WWW服务器。比如,www.company1.com, www.company2.com 都对应于同一个IP地址(即由同一台机器来给这两个虚拟域名提供服务),客户程序要存取http://www.company1.com/index.html时,发出的请求头中包含有如下的内容:
GET /index.html HTTP/1.1
Host: www.company1.com
…..

WWW服务器程序接收到这个请求后,可以通过检查“Host:”语句,来判定客户程序请求是哪个虚拟主机的服务,然后再进一步的处理。

优点:提供虚拟主机服务的机器上只要设置一个IP地址,理论上就可以给无数多个虚拟域名提供服务,占用资源少,管理方便。目前基本上都是使用这种方式来提供虚拟主机服务。
缺点:在早期的HTTP 1.0版本下不能使用。实际上现在使用的浏览器基本上都支持基于主机名的虚拟主机方式。


 
上一篇:HTTP/Apache 错误代码汇总  下一篇:为什么Nginx服务器备受青睐?