HTTP的请求头中有一行我们通常会忽略,书中又很少会提到的内容:

Host:www.google.com 

仔细一想,似乎这个东西有些多余,当我们按下回车的时候已经在浏览器地址栏中输入google.com了,那么她经过DNS服务器递归寻找返回IP地址,链接到的当然就是google的服务器,既然是google服务器接收的请求,那么这一行的作用是什么呢?

其实Host行表示服务器可以服用。在现实中很多服务器上不只有一台网络服务器,不论是虚拟主机,还是简单的一个web网站,她们其实在共用同一个IP地址。一个IP地址上是可能有几十个网站的。那么当服务器接收到请求头的时候,她就能够通过Host知道要将请求递交给哪个网络服务器了。

也许是接受了这么多年应试教育的熏陶,很多问题都不会去想为什么,要不是偶然看到,我根本都没有意识到这个问题。看书不去质疑,看问题不去多想,这个坏习惯必须改变!