今天看《图解HTTP》提到单台主机如何实现多个域名,我脑子一下子转不过弯来

,只能模模糊糊说Apache处理的,感觉自己有点low。
同时思考方向拐到了「域名解析」的弯路上去了,有点尴尬。 通过后面的看书,了解了,主要和Http请求报文有关。

思考过程

先说我一开始的思路,DNS解析域名,然后不同的域名转向同一个主机IP,然后就死机了。
我的想法停留在了IP,而这个问题的解题思路应该在http。
Http的请求头部有一个参数host,比如host:sunmker.cn,这样在就算我的vps上面有两个域名sunmker.cnsunmker.com,我的Apache也可以分辨请求来源。

参考来源

首部字段 Host 会告知服务器,请求的资源所处的互联网主机名和端口号。 Host 首部字段在 HTTP/1.1 规范内是唯一一个必须被包含在请求内的首部字段。

首部字段 Host 和以单台服务器分配多个域名的虚拟主机的工作机制有很密切的关联,这是首部字段 Host 必须存在的意义。

请求被发送至服务器时,请求中的主机名会用 IP 地址直接替换解决。但如果这时,相同的 IP 地址下部署运行着多个域名,那么服务器就会无法理解究竟是哪个域名对应的请求。因此,就需要使用首部字段 Host 来明确指出请求的主机名。若服务器未设定主机名,那直接发送一个空值即可。