localhost
localhost也叫local ,正确的解释是:本地服务器。
localhost 是一个域名,在过去它指向 127.0.0.1 这个IP地址。在操作系统支持 ipv6 后,它同时还指向ipv6 的地址 [::1]。
在 Windows 中,这个域名是预定义的,从 hosts 文件中可以看出:
而在 Linux 中,其定义位于 /etc/hosts 中:
127.0.0.1
127.0.0.1在Windows等系统的正确解释是:本机地址(本机服务器或回送地址)。
它们的解析都是通过本机的hosts文件来引导,之后Windows自动将localhost解析为127.0.0.1 。
通常分配给 loopback 接口。loopback 是一个特殊的网络接口(可理解成虚拟网卡),用于本机中各个应用之间的网络交互。只要操作系统的网络组件是正常的,loopback 就能工作。Windows 中看不到这个接口,Linux中这个接口叫lo:
| localhost | 127.0.0.1 |
|---|---|
| 在计算机网络中,localhost是回路网络接口的一个标准主机名 ,相对应的ip地址是127.0.0.1. | 127.0.0.1是一个环回地址 ,根本不是一个网络地址 |
| localhost是一个保留域名,同时也是一个特殊的DNS主机名,代表分配给引用这个名称的计算机的ip地址,即所在计算机本身。localhost是不经过网卡传输的,它不受网络防火墙和网卡相关的限制。 | 127.0.0.1是通过网卡传输的,依赖网卡,并受到网络防火墙和网卡相关的限制。 |
| windows系统,在host文件中,localhost指向的ip是127.0.0.1,可通过编辑host文件改变指向(打开C:\WINDOWS\system32\drivers\etc\hosts文件,可以编辑) | 一个重要应用方法:ping 127.0.0.1功能: 检测本机的回路是否正常 ,如果得到一个成功的ping返回,则可以认定你的IP栈是被初始化过的,TCP/IP协议安装正确。如果失败,那么你的IP栈失败,TCP/IP协议必须重新安装 |
本机IP
“本机IP”并不是一个规范的名词。通常情况下,指的是“本机物理网卡所绑定的网络协议地址”。
由于目前常用网络协议只剩下了IPV4,IPX/Apple Tak消失了,IPV6还没普及,所以通常仅指IP地址为ipv4地址。一般情况下,并不会把 127.0.0.1当作本机地址。因为没必要特别说明,大家都知道。
本机地址是与具体的网络接口绑定的。比如以太网卡、无线网卡或者PPP/PPPoE拨号网络的虚拟网卡,想要正常工作都要绑定一个地址,否则其他设备就不知道如何访问它。
- 本机IP是通过网卡传输,依赖网卡,并受到网络防火墙和网卡相关的限制。
- 本机IP可以本机或者外部访问。
我们电脑主板上都内置了多种网卡,一般主要有以下几类:
虚拟网卡(loopback)
注意,它是虚拟的,并不是物理网卡,也被称为是本地环回地址(或接口),一般将127.0.0.1作为本地环回地址。
有线网卡/以太网卡(Ethernet)
这是以太网(局域网)使用的,我们日常说的网卡指的就是这个,插入的就是网线。
无线网卡(WLAN)
这是无线局域网所使用的网卡,笔记本上常内置此网卡,它用的是无线电技术,不需要像以太网卡那样插网线。
以上这些网卡都会绑定一个本机IP。
总结
| localhost | 127.0.0.1 | 本机IP | |
|---|---|---|---|
| 网络 | 不联网 | 不联网 | 联网 |
| 传输 | 不使用网卡,不受防火墙和网卡的限制 | 网卡传输,受防火墙和网卡的限制 | 网卡传输,受防火墙和网卡的限制 |
| 访问 | 本机访问 | 本机访问 | 本机访问 |
localhot是不经网卡传输的!这点很重要,它不受网络防火墙和网卡相关的的限制。
127.0.0.1是通过网卡传输,依赖网卡,并受到网络防火墙和网卡相关的限制。
一般设置程序时本地服务用localhost是最好的,localhost不会解析成IP,也不会占用网卡、网络资源。
在搭建网站的时候可以把localhost换成127.0.0.1提升速度,127.0.0.1不经过DNS解析。
扩展资料:
1、整个127.* 网段通常被用作 loopback 网络接口的默认地址,按惯例通常设置为 127.0.0.1。这个地址在其他计算机上不能访问,就算你想访问,访问的也是自己,因为每台带有TCP/IP协议栈的设备基本上都有 localhost/127.0.0.1。
2、本机地址通常指的是绑定在物理或虚拟网络接口上的IP地址,可供其他设备访问到。
3、最后从开发度来看,localhost是个域名,性质跟 “www.baidu.com” 差不多。不能直接绑定套接字,必须先gethostbyname转成IP才能绑定。
4、127.0.0.1 是绑定在 loopback 接口上的地址,如果服务端套接字绑定在它上面,你的客户端程序就只能在本机访问。
2 条评论
谢谢分享。
别客气!希望这篇文章真的对你有用,常来交流呀。