服务器ip被多个域名解析,客户端使用其中一个域名访问服务器,
服务器Tomcat可以根据域名指定要访问的项目,
Tomcat是怎么知道客户端使用的是哪个域名的?
在 HTTP/1.1 前,因为一个非常错误的设计:「认定一个 IP 位址对映一个网站」,
当时的服务器能得知默认的域名,不需加以区分,然而这将使 IP 利用率大幅降低。
因此 HTTP/1.1 引入了 Host 栏位,解决了 HTTP/1.0 假定 「Server 与 网域 是 一对一」的错误,
这使我们能在「同一IP, 不同 Host 值」或「 同一IP, 不同 port 」架设多个网站或服务,这称为 虚拟主机 (Virtual Host) 。
Tomcat 即是利用解析 HTTP报文 或者判断 TCP Port 来得知客户端所访问的域名。
http协议,有host字段,会报告自己访问的是什么主机。这个在tomcat的配置里叫做“主机头”
https://blog.csdn.net/psvmc/article/details/28232491
ftp协议就没办法了,只能靠不同的端口。
http 请求头中都有ref host 信息, 比如下图 是chrome的访问csdn的请求头