localhost的底层原理究竟是什么,环回测试IP地址127.0.0.1的历史溯源

127.0.0.1的历史溯源

在1981年通过的一份互联网协议标准中,规定的IP地址的编制方法,也就是早期的IP地址编制方法分类的IP地址,这一标准将IP地址分为A类~E类。

在A类IP地址中,有这样一项规定:网络号为127(即二进制01111111)保留作为本地软件环回测试本主机的进程之间的通信之用,若主机发送一个目的地址为环回地址(例如127.0.0.1)的IP数据报,则本主机中的协议软件就处理数据报中的数据,而不会把数据报发送到任何网络


localhost的底层原理究竟是什么

在Windows系统中,与此密切相关的,就是一个名叫hosts的文件,下面便进行此文件的分析:

文件路径:C:\Windows\System32\drivers\etc目录下

文件内容:包含了IP地址到主机名的映射。

内容格式:每一个映射条目应该单独保存在一行中。IP地址应该放在第一列,后面跟着相应的主机名。IP地址和主机名之间至少要有一个分隔符空间。
localhost的底层原理究竟是什么,环回测试IP地址127.0.0.1的历史溯源_第1张图片
分析:以XAMPP这个整合包为例,其中整合了Apache服务器(用其他Web服务器也都是同样的道理),因此可以在本地(也就是localhost)访问默认页,如图:
localhost的底层原理究竟是什么,环回测试IP地址127.0.0.1的历史溯源_第2张图片
当在地址栏中输入localhost:8081时(此端口为自定义),本机先去C:\Windows\System32\drivers\etc目录下的hosts文件的映射条目中寻找有没有这个域名映射,也就是有没有localhost的映射,发现确实有(此注释是默认既定的说明,而不是使之失效)
在这里插入图片描述
因此,返回映射的IP地址,最终系统发现是127.0.0.1,因此,本主机中的协议软件就处理此IP数据报中的数据,而不会把数据报发送到任何网络。

当我们进行任何域名的网络访问时(不仅是localhost,例如www.baidu.com),系统都会首先去此hosts文件下查找有无对应IP地址的映射,找不到,则再由DNS完成后续任务。

你可能感兴趣的:(网络)