sc.vooc 2019-02-09 01:35 采纳率: 20%
浏览 2149
已采纳

服务器是如何知道客户端访问自己使用的是哪个域名的?

服务器ip被多个域名解析,客户端使用其中一个域名访问服务器,
服务器Tomcat可以根据域名指定要访问的项目,
Tomcat是怎么知道客户端使用的是哪个域名的?

  • 写回答

3条回答 默认 最新

  • sinat_33817180 2019-02-09 08:13
    关注

    在 HTTP/1.1 前,因为一个非常错误的设计:「认定一个 IP 位址对映一个网站」,
    当时的服务器能得知默认的域名,不需加以区分,然而这将使 IP 利用率大幅降低。

    因此 HTTP/1.1 引入了 Host 栏位,解决了 HTTP/1.0 假定 「Server 与 网域 是 一对一」的错误,
    这使我们能在「同一IP, 不同 Host 值」或「 同一IP, 不同 port 」架设多个网站或服务,这称为 虚拟主机 (Virtual Host) 。

    Tomcat 即是利用解析 HTTP报文 或者判断 TCP Port 来得知客户端所访问的域名。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • threenewbee 2019-02-09 04:14
    关注

    http协议,有host字段,会报告自己访问的是什么主机。这个在tomcat的配置里叫做“主机头”
    https://blog.csdn.net/psvmc/article/details/28232491

    ftp协议就没办法了,只能靠不同的端口。

    评论
  • netstat_y 2019-02-09 17:04
    关注

    http 请求头中都有ref host 信息, 比如下图 是chrome的访问csdn的请求头
    图片说明

    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 q从常量变成sin函数,怎么改写python代码?
  • ¥15 Abb变频器acs510
  • ¥15 图论编程问题,有可以指导的吗
  • ¥15 DEA的CCR模型画图
  • ¥15 请假各位一个关于安卓车机的问题
  • ¥15 光谱仪怎么看这样的透射谱
  • ¥15 pyqt5 如何实现输入框输入关键词,下拉框显示模糊查询返回的结果?
  • ¥20 fluent模拟,可以燃烧和相变同时模拟吗?
  • ¥50 海康摄像头,C#如何识别车牌号码和抓取JPG
  • ¥15 yolov5 pt转engine的问题