详解http请求头中host字段的作用

这是一个非常基础但是容易被忽视的概念

刚开始学web的时候,就会学习到http的请求头中各种字段,但那个时候对很多东西不了解,导致有些人不能深入的理解某些字段的作用,host字段就是其中一个比较容易被一笔带过的内容。

理解host字段必须先知道计算机网络中ip和域名的对应关系。例如我们访问www.baidu.com这个页面,实际上是通过DNS转换成百度的ip地址进行访问的,例如为123.123.123.1,假设这就是百度的服务器ip,我们访问百度的时候浏览器发送请求的目的地就是123.123.123.1而不是www.baidu.com(这个概念很重要)

那么搭建过网站的人就会知道,一个服务器上是可以架设多个不同的网站的,假设123.123.123.1这个服务器上也同样架设了多个网站,例如还有www.abc.com,那么百度的服务器怎么知道我们要访问的是www.baidu.com而不是www.abc.com?

这就是host字段的作用了,因为我们访问百度,是输入了www.baidu.com这个域名进行访问的,那么浏览器就会把这个域名放到host里面打包成请求头发送,这样百度服务器就知道我们要访问的是www.baidu.com这个网站了。

我们可以验证一下

这就是我们访问www.baidu.com的请求头中的host