简单来说,localhost
和 127.0.0.1
,都代表本机地址。
在物理机访问,就代表物理机。
在虚拟机访问,就代表虚拟机。
127.0.0.1 是什么地址?
127.0.0.1
是一个特殊的局域网 IPv4 地址,被称为回环地址(loopback address)。当网络程序发送数据到这个地址时,是由本机接收处理的,所以叫做 “回环”。
它的主要作用是:用来测试的本机网络是否正常。 如果 ping 这个地址有响应,代表本机的 TCP/IP 协议安装正常,网络接口工作正常。
localhost 是什么地址?
localhost
是一个主机名(hostname),代表本机。 localhost
也适用于访问本机上的网络服务的域名,比如访问本机的 MySQL、FTP、Redis 等。
localhost 和 127.0.0.1 的关系
区别 1
localhost
是域名,如果使用 localhost
访问网络服务,会经过 DNS 解析(或者查找本机 hosts 文件)转换为 IP 地址。 通常情况下,localhost
都是解析到 127.0.0.1
的。 在操作系统支持 IPv6 后,localhost
同时还指向 IPv6 的地址 [::1]
。
这个解析关系的配置文件在:C:\Windows\System32\drivers\etc\hosts
: (解析是可以修改的) 127.0.0.1 localhost
区别 2
localhost
不经过网卡传输!这点很重要,它不受网络防火墙和网卡相关的的限制。 127.0.0.1
是通过网卡传输,依赖网卡,并受到网络防火墙和网卡相关的限制。
这两个代表本机的地址和本机 IP 地址的区别
比如电脑的 IP 地址是 192.168.xxx.
xxx,注意,这地址是有可能每一次重新联网、重启以后发生变化的。
所以,对于访问本机的服务,始终用 localhost
或者 127.0.0.1
访问更简单。包括在各种靶场的配置文件中,链接本机的 MySQL 数据库,我们写的都是 localhost
或者 127.0.0.1
。
总结
localhost
和 127.0.0.1
大多数情况下可以互换使用,但是背后的工作机制不同。 localhost
代表本地服务器,127.0.0.1
是一个 IP 地址。
通常情况下,建议使用 localhost
。
不建议用本机的局域网 IP 访问靶场: