基于Apache名称的虚拟主机如何与公有IP地址一起工作?

我是Apache web服务器的新手。 当我们configurationApache Web服务器时,我们可以select设置name-based virtual host

根据我的理解,当用户在networking浏览器中键入域名www.example.com时,它将连接到一个DNS服务器,该服务器将域名转换为(公共)IP地址。 然后,Web浏览器将使用IP地址连接到Web服务器。

现在,让我们说我有一个公共IP地址, aaaa服务器。 我注册了2个域名, www.example.comwww.example1.com 。 这两个域名都指向相同的IP地址aaaa 。 所以,当用户在他的networking浏览器中键入www.example.comwww.example1.com时,DNS服务器将把它们指向IP地址aaaa

我已经根据本网站的用户指南configuration了基于名称的虚拟主机。

但是,我不明白的是:由于DNS服务器已经将域名转换为IP地址,所有用户将使用IP地址aaaa连接到Web服务器。 Apache如何知道用户是否在他们的Web浏览器中使用www.example.comwww.example1.com

http头将包含主机。 在上面的例子中,这将是www.example.com或www.example1.com。 这个主机头由apache读取,然后用来向客户端发送正确的虚拟主机。

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.23

http://httpd.apache.org/docs/2.2/vhosts/examples.html